Published:
Updated:

코드 삽입 부분은 과감하게 삭제했다.

docker 설치

  • homebrew 명령어 사용으로 설치
    • docker-compose, docker-machine을 같이 설치해줌
$ brew install --cask docker

Docker MySQL 설치

  • 나는 M1 Pro 맥북을 사용하고 있으므로 --platform linux/amd64를 지정 후 설치
  • mysql 8 버전 설치
  • 비밀번호: 1234
docker run --platform linux/amd64 --name mysql -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=1234 mysql:8.0.28
  • docker run 명령어는 컨테이너를 create 후, start 역할
  • --name 옵션: 컨테이너 이름 지정
    • 이름이 중복되면 conflict
    • 실행중인 컨테이너의 정보를 보려면 docker ps -a 커맨드로 확인 가능
  • -d 옵션: background에서 동작
  • -p 옵션: port 매핑
  • -e 옵션: environment 환경 설정 key, value 형태로 보냄

Docker MySQL 실행

  • 요구사항에 따라 bash로 실행
docker exec -it mysql bash
  • docker exec 명령어는 실행중인 컨테이너에, 그 뒤에 오는 명령어를 실행
  • -i 옵션: STDIN 표준 입출력 오픈
  • -t 옵션: 가상 tty(pseudo-TTY)를 통해서 접속

vim 설치

  • docker container에서 vim 설치가 되어있찌 않으므로 아래의 명령어를 통해 설치
$ apt-get update
$ apt-get install vim

utf8 설정

  • 컨테이너 접속
  • vim 사용해서 /etc/mysql/my.cnf 파일 수정
root@32f08c0def9e:/# vim /etc/mysql/my.cnf
  • 아래와 같은 내용 추가
[client]
default-character-set = utf8

[mysqld]
init_connect = "SET collation_connection = utf8_general_ci"
init_connect = "SET NAMES utf8"
character-set-server = utf8
collation-server = utf8_general_ci

[mysql]
default-character-set = utf8

스크린샷 2023-02-20 오후 2 05 45

  • 위처럼 설정하면 아래와 같이 성공적으로 latin1에서 utf8로 변경된 것을 확인할 수 있다.

MySQL 접속 확인

스크린샷 2023-02-20 오전 11 31 42 스크린샷 2023-02-20 오후 2 26 38

locale

  • 사용 가능한 locale 확인 후
  • MySQL 시간 설정

스크린샷 2023-02-20 오후 2 33 43

대용량 데이터 생성

  • USE mysql 명령어로 mysql DB를 사용한다.
nickname varchar(64),
money dec(10, 2),
last_visit datetime
  • 위의 정보를 포함하는 user_log 테이블을 생성하는 명령어는 아래와 같다.
CREATE TABLE user_log
(
    nickname   varchar(64),
    money      dec(10, 2),
    last_visit datetime
);


  • TABLES 조회 결과 마지막 테이블에 user_log가 있는 것을 확인할 수 있다.

스크린샷 2023-02-20 오후 3 39 04

MySQL Workbench

  • docker VM IP 알아내는 명령어 사용

스크린샷 2023-02-20 오후 3 51 36


  • cs14라는 스키마 생성


  • 아래의 명령어로 test 입력
INSERT INTO user_log
values ('test', 10000.00, '2023-02-20');


  • 오류 없이 조회 성공

스크린샷 2023-02-20 오후 4 31 14

MySQL Connector

  • 내가 설치한 MySQL 버전은 8.0.28이므로 이 버전에 맞게 설치 후 라이브러리 경로를 설정해준다.

스크린샷 2023-02-20 오후 3 07 28

  • import 성공

스크린샷 2023-02-20 오후 3 09 27

완전 갈아엎음

  • 지금 몇시간을 날린지 난 모르겠다.. 5시간째 진척은 없고, 삽질만 엄청 하다가 겨우 해결

인텔리제이 DB 연동

  • 구세주 일단 제일 먼저 인텔리제이 연동에 계속 실패를 하다가 겨우 이 사이트 명령어로 성공적으로 연동에 성공했다.

스크린샷 2023-02-21 오전 12 02 57

MySQL Enable LOAD DATA LOCAL INFILE

스크린샷 2023-02-21 오후 2 26 19

Reference

Leave a comment