1️⃣ MySQL 설치하기
docker의 실행중인 컨테이너를 모두 종료시키고 다시 하기
: docker ps -a. //목록 확인
: docker rm -f `docker ps -a -q` // 컨테이너 모두 강제로 삭제하기, 이미지는 남음
: docker rmi -f 'docker images' // 모든 이미지 삭제하기
docker images 설치하기
- dockerHub엔 mysql 이미지가 이미 있으므로 바로 가져오자.
: docker run -d -p 9876:3306 -e MYSQL_ROOT_PASSWORD=[mysql패스워드] mysql:5.6
- 서버 포트 9876과 mysql 기본포트인 3306을 매칭시킴
- -e를 통해 환경변수로서 mysql의 패스워드를 설정함
- 설치할 mysql의 버전을 5.6으로 명시함
2️⃣ MySQL 접속하기
Mysql Docker container 접속하기
: docker ps -a #실행된 mysql 컨테이너 id 확인하기
: docker exec -it [컨테이너id] /bin/bash #컨테이너의 bash로 접속
: mysql -u root -p #컨테이너 접속 후, mysql에 진입
: [비밀번호 입력]
: CREATE DATABASE TEST; # 테스트할 데이터베이스 생성
: SHOW DATABASES; # 생성 확인
: exit # mysql 탈출
: exit # 컨테이터 탈출
컨테이너 안에 있는 mysql에 ip로 접속하기
: docker ps -a # docker 컨테이너 확인
: docker inspect [컨테이너id] # 컨테이너 상세정보 확인
- 이후 나타나는 창에서 IPAddress 확인 ("172.17.0.2”)
: sudo apt install mysql-client-core-5.7
: mysql -u root -p --host 172.17.0.2 --port 3306
: [비밀번호 입력]
: SHOW DATABASES; #이전에 만든 데이터베이스 확인
: exit
- 접속을 위한 패키지 설치
- mysql을 해당 ip주소로 3306포트와 연결
서버의 포트로 Mysql 접속하기
: docker ps -a
: mysql -u root -p --host 127.0.0.1 --port 9876
: exit
- 단, 컨테이너는 언제든 사라질 수 있다는 점에서 mysql은 일반적으론 이렇게 컨테이너화 하진 않는다
테스트를 위한 mysql user 만들기
: mysql -u root -p --host 127.0.0.1 --port 9876
: use mysql
: CREATE USER 'test'@'%' IDENTIFIED BY '[비밀번호]'
: GRANT ALL PRIVILEGES ON *.* TO 'test'@'%';
: FLUSH PRIVILEGES;
- 유저 생성하고 권한을 주었음
3️⃣ 로컬에서 확인하기
AWS 에서 mysql접근을 위한 설정하기
- 접근 포트 열어줬음
WorkBench로 접속하기
이후 접속 확인.