EC2에 MySQL을 설치해뒀는데 데스크탑에서 볼 수 있게 셋팅하고 싶었다.

 

일단 EC2 접속 후

  sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

이렇게 mysqld.cnf 파일을 열어준다.

sudo를 사용하지 않았더니 권한때문에 저장이 안된다.

처음부터 이렇게 접근하는게 맞는것 같다.

 

조금만 아래로 내려보면 이렇게 bind-address 와 mysqlx-bind-address 를 볼 수 있다.

보통 다른글 포스팅 보면 bind-address 밖에 없는데 나는 두개..

이 두개를 0.0.0.0으로 바꿔주거나 앞에 # 을 붙여 주석처리를 해준다.

저장하고 종료.

 

그리고 mysql 에 접속한다.

 

접속해서 외부접속 허용 sql을 입력한다.

mysql> create user 'con'@'%' identified by '1111';
mysql> grant all privileges on *.* to 'con'@'%' with grant option;

con부분은 유저이름을 넣어주면 되고 identified by 뒤는 비밀번호다.

생성해주고 접속 권한을 변경해주는 것이다.

 

많은 포스팅을 본것은 아니지만 보통 이렇게 생성하는거에 대해 적어주신 분은 없다.

보통은

mysql> grant all privilage on *.* to 'root'@'%' identified by '1111';
mysql> flush privileges;

이렇게 많이 알려주셨다.

근데 접속 권한 쿼리부터 잘못된 쿼리라는 오류가 발생해 다른 방법을 찾게된 것이다.

보통 이렇게 써주신 분들 포스팅은 ubuntu 16.04에 mysql 5.7이던데 아마 버전차이가 아닐까 싶다.

 

현재 ubuntu 20.04에 mysql 8.0.27이기 때문에 차이가 있을 것 같다.

 

그래서 첫번째 방법으로 시도해서 해결되었다.

 

 

그래서 저 방법을 통해 접속 권한을 변경했다면 mysql을 재시작하고 포트를 설정해준다.

sudo service mysql restart
sudo ufw allow out 3306/tcp
sudo ufw allow in 3306/tcp
sudo service mysql restart

ufw allow 는 포트를 설정해주는 것이다. Rules updated 가 나와야 정상적으로 처리가 된것이다.

그리고 EC2 인스턴스에도 보안그룹 인바운드 규칙에 3306을 추가해줘야 한다 꼭!

 

 

여기까지 했다면 workbench를 실행해서 연결을 진행하면 된다.

Hostname에는 EC2 퍼블릭 IP 주소 적으면 된다.

username이랑 Password는 아까 설정하면서 생성한 그 계정으로 하면 끝!

'DB' 카테고리의 다른 글

Oracle Scheduler, MySQL Event Scheduler  (0) 2022.04.21
mysql 계층형 쿼리(함수, 재귀)  (0) 2022.04.04
Oracle과 Tomcat충돌문제 해결  (0) 2020.10.18
Oracle에서 auto_increment  (0) 2020.10.17
Oracle DataType  (0) 2020.10.17

+ Recent posts