Develop/AWS

[AWS] Docker 설치 및 MySQL 실행하기/Docker-MySQL-Workbench/permission denied

순무엄마동생 2021. 9. 17. 22:05

Docker

아래 명령어 순서대로 도커를 설치해줍니다.

1. 업데이트

sudo apt update

2. 도커 설치

sudo apt update

3. 버전확인

sudo apt update

4. 도커 실행

sudo service docker start

 

Got permission denied while trying to connect to the Docker daemon socket

위와 같은 에러가 뜬다면 root 계정이 아닌 계정으로 도커 실행 시에 발생하는 권한 문제라고 한다. 이 에러가 유저 권한을 추가해주고 재실행해주면 된다!

1. 유저 권한 추가 

sudo usermod -a -G docker $USER

 

2. 도커 재실행

sudo service docker restart

 

MySQL

1. MySQL 설치 및 컨테이너 생성/실행

docker run -d -p 3306:3306 -e MYSQL_ALLOW_EMPTY_PASSWORD=true --name mysql mysql:5.7

나는 5.7 버전을 지정해서 받았는데 최신 버전을 받으려면 mysql:latest로 변경해주면 될거다 아마...? 그리고 MySQL root의 비밀번호를 나는 귀찮아서 설정하지 않겠다고 해놨는데 만약 비밀번호를 설정하려면 MYSQL_ROOT_PASSWORD={password} 이렇게 설정해주면 된다!

docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD={비밀번호} --name mysql mysql

 

2. 도커 안의 MySQL 실행

컨테이너 ID는 docker ps -a 명령어로 받아온다.

컨테이너의 bash하면에 들어간 후 mysql을 실행시켜주는 방법이 하나 있고

docker exec -it {컨테이너 ID} /bin/bash
mysql -u root -p

이렇게 바로 들어가는 방법이 있다.

docker exec -it mysql mysql

 

 

3. 사용자 추가 + 권한 주기

MySQL에 들어가서 사용할 계정을 만들어준다. 그리고 계정에 명령어를 실행할 수 있도록 권한을 준다.

CREATE USER '{사용할 ID}'@'%' IDENTIFIED BY '{사용할 비밀번호}';
GRANT ALL PRIVILEGES ON TEST.* TO 'test'@'%';
FLUSH PRIVILEGES;

 

4. Workbench에 연결하기

MySQL Connections 옆에 +버튼을 누르고 다음과 같이 작성한다.

  • Username의 경우 자신이 3번에서 만든 ID를 작성해준다.
  • Password > Store in Vault 눌러서 비밀번호 test 입력
  • Test Connection 클릭 시 Successful 뜨면 성공!