Mysql 설치
mysql 버전 조회
먼저 우리가 도커로 설치할 수 있는 mysql의 버전을 조회해보자. 조회하는 명령어는 아래와 같다.
docker search mysql
mysql의 설치에 앞서 경로를 생성해보자. -p 옵션은 해당경로나 상위경로가 없으면 생성하라는 옵션이다.
mkdir -p /data/mysql
도커 실행
docker run
은 도커 이미지가 없으면 자동으로 pull
과정을 거치기 때문에 따로 pull
을 하지 않아도 된다. -p
는 외부포트번호:도커내부포트번호
를 의미한다. 도커는 이미지를 제거하게 되면 DB정보 또한 날아가게 된다. 이를 대비하기 위해 volume을 로컬 경로로 저장하는 것이 좋다. 이는 -v
옵션을 통해 가능하며, 로컬저장소:저장할 도커 내부 경로
로 설정하면 된다.
docker pull mysql
docker run -d \
--name=mysql --restart=unless-stopped \
-p 3306:3306 \
-v /data/mysql:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=비밀번호 \
mysql:latest
내부환경설정
도커 내부 설정을 하기 위해서 docker exec -it mysql bash
를 실행하자. 이는 mysql이라는 도커 환경에서 bash를 실행해달라는 의미이다. 접속이 되었다면 mysql을 접속해보자. 비밀번호는 위 도커에서 설정한 비밀번호이다.
docker exec -it mysql bash
mysql -u root -p
MySQL계정 생성
show databases;
는 DB목록을 보여달라는 명령어이며, select user,host from user;
명령어는 user라는 이름의 Table에서 user, host 컬럼을 보여달라는 의미이다. 그 아래 계정 생성 명령어에서 ip는 localhost나 %를 주로 사용하는데, %는 모든 ip를 허용하겠다는 의미이다.
use mysql
show databases;
select user,host from user;
create user 계정명@'ip' identified by '비밀번호';
grant all privileges on *.* to 계정명@'ip';
flush privileges;
quit;