MySQL DB 서버 외부에서 MySQL에 접속하려는데 접속이 되질 않았다.
보안그룹에서 해당 포트에 대한 접근 허용을 추가해주었는데도 되지 않아 찾아보니 mysql에 권한이 등록되지 않아서였다.
# mysql 접속
$ mysql -u root
# 현재 등록된 유저 목록 조회
mysql> use mysql;
mysql> select user, host from user;
+------------------+-----------+
| user | host |
+------------------+-----------+
| mysql.infoschema | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
+------------------+-----------+
4 rows in set (0.00 sec)
# 허용하려는 IP에 대해 권한 설정
mysql> create user 'root'@'133.186.%';
mysql> grant all privileges on *.* to 'root'@'133.186.%' with grant option;
# 위 명령어가 안된다면 localhost root 계정에 권한을 먼저 부여하고 다시 시도
mysql> grant all privileges on *.* to 'root'@'localhost' with grant option;
# 다시 조회해보면 설정한 IP가 잘 등록된 것을 볼 수 있다
mysql> select user, host from user;
+------------------+-----------+
| user | host |
+------------------+-----------+
| mysql.infoschema | localhost |
| mysql.session | localhost |
| mysql.sys | localhost |
| root | localhost |
| root | 133.186.% |
+------------------+-----------+
5 rows in set (0.00 sec)