다른 컨테이너에서 만든 MySQL 서버를 어떻게 하면 접근할수 있나요?
-
예를들어 container1에서 mysql 실행시켜 database를 구축 했습니다.
그리고 container2에서 같은 mysql database를 이용하고 싶은데, 어떻게 해야되나요? -
container1에서 다음과 같은 단계를 진행합니다.
/etc/mysql/mysql.conf.d/mysqld.cnf
파일을 열고 (vim 에디터 등 사용)bind-address = 127.0.0.1
부분 앞에 #을 붙여서#bind-address = 127.0.0.1
이 되도록 수정하여 주석처리 해줍니다. (원격접속이 가능하게 하기 위해, LISTEN IP 대역을 로컬호스트로 제한하고 있는 설정을 주석처리)- 터미널에
service mysql restart
명령을 실행하여 mysql 재시작 - mysql shell에 접속하여
GRANT ALL ON *.* TO root@'%' IDENTIFIED BY 'password';
쿼리를 실행해줍니다. ('password' 부분은 원격접속 시 사용할 패스워드로 적절하게 변경) FLUSH PRIVILEGES;
쿼리를 실행해줍니다.- 구름IDE 상단메뉴 [컨테이너] - [포트포워딩 설정]에서 유형 MySQL 선택 후 [등록]을 눌러 포트를 열어줍니다.
- 등록 후에 [IP]와 [외부 포트]를 확인해둡니다. (container2에서 container1의 mysql로 접속 시 사용할 정보)
conatainer2에서 다음과 같은 단계를 진행합니다.
- 터미널에
mysql -h[IP] -P[외부 포트] -p[password]
명령을 실행하여 정상적으로 접속이 되는지 확인합니다. 예를 들면mysql -h3.34.1.253 -P59891 -ppassword
와 같은 형식의 명령입니다.