devops 개발자 팀원이 서버 만들어주면서 docker 설치해주셨고, docker에 mysql 이미지를 받아두셨다. 아마 이건 docker 설치하고 그냥 docer pull mysql 하면 되는듯
1. 원격 서버 ssh로 접속해서 docker mysql 이미지 실행시키기
docker image가 정상적으로 받아져있다면 아래와 같이 떠있을 것.
$ docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=<your_password> --name <container_name> -v <mount_path>:/var/lib/mysql mysql:latest --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
- -d : 백그라운드로 실행
- -p 3306:3306 : 서버의 3306 포트를 컨테이너 3306 포트랑 맵핑하겠다는 옵션, mysql의 디폴트 포트가 3306이니까 mysql 이미지를 실행시키면 별 다른 설정이 없었다면 3306포트로 서비스가 떠있을테니 그 서비스를 서버도 같은 포트로 열어주는 것,
다른것도 되는지는 확인 안해봤는데 되지않을까? 예를 들어 -80:3306 ..? - -e MYSQL_ROOT_PASSWORD=<your_password> : mysql root 사용자의 패스워드를 <your_password>라고 설정하는 것
- --name <container_name> : 안해주면 docker가 알아서 이름을 주는데 쉘 접속할때 자주 써먹을테니 자기가 설정하는게 좋음
- -v 마운트할서버내경로:컨테이너내경로
- mysql:latest : 실행시킬 이미지 (latest 는 태그 이름)
- --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci : 한글 인코딩 관련 옵션
이렇게 실행시키고 docker ps로 확인해보면 아래와 같이 잘 떠있어야 한다. 대충 컨테이너 이름 가리기 ㅋㅋㅋ
2. mysql 에 사용자 추가하고 권한 주기
2.1 컨테이너 쉘에 접속
이렇게 컨테이너 이름 치거나 컨테이너 아이디로 접속하면 된다. 아이디는 어려우니까 이름 설정하라 했던 것임
$ docker exec -it <container_name> bash
2.2 쉘접속하고 mysql 접속
# mysql -u root -p
>> password : **** (위에서 MYSQL_ROOT_PASSWOR로 설정했던 비밀번호)
2.3 mysql에 사용자 만들기
mysql> CREATE USER 'tp'@'%' IDENTIFIED BY '9975';
Query OK, 0 rows affected (0.02 sec)
mysql> GRANT ALL PRIVILEGES ON *.* TO 'tp'@'%';
Query OK, 0 rows affected (0.02 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
mysql> quit
Bye
3. mysql workbench에서 원격 서버에 docker로 띄워둔 mysql 접속하기
mysql workbench 상단 메뉴 바 > Database > Connect to Database ...
hostname에 원격서버 public ip를 입력하고 포트는 아까 -p 3306:3306으로 띄웠으니까 3306으로 한다. connection name은 맘대로! username은 mysql 콘솔에서 아까 만들어준 사용자 이름으로 쓰고, store in keychain 눌러서 그 사용자 만들때 identified by 어쩌구 했던 그 어쩌구가 비밀번호다.
tip! public ip 확인하기
$ curl ifconfig.me
이렇게 하고 test connection 눌렀을 때 successfully 어쩌구가 뜨면 성공 그다음 OK하면 mysql workbench로 원격서버에 띄워둔 mysql dbms editor 접근 가능!
'기술 > SQL' 카테고리의 다른 글
SQL) SQL 기초 (0) | 2022.01.07 |
---|---|
MySQL/MySQL workbench) error 1175 해결 : update safe mode 끄기 (0) | 2021.12.29 |