![]() |
| Photo by Dima Pechurin on Unsplash |
3줄 요약
서버(Ubuntu)에 MySQL을 설치했다.
노트북에서 MySQL에 접속이 안된다.
해결 과정을 정리했다.
– 원격접속을 허용할 사용자를 user 테이블에 삽입한다.
– MySQL 설정 파일에 접속을 허용할 IP 대역을 재정의한다.
: 기본 설정은 로컬(127.0.0.1)만 정의한다.
원격접속을 허용할 사용자를 user 테이블에 삽입하기
원격접속을 허용할 사용자를 아래와 같이 추가한다.
|
1
2
3
4
5
6
7
8
9
10
11
|
mysql> INSERT INTO mysql.user (host, user, authentication_string, ssl_cipher, x509_issuer, x509_subject) VALUES (‘%’, ‘root’, password(‘password’), ”,”,”);
Query OK, 1 row affected, 1 warning (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON *.* TO ‘root’@‘%’;
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
|
cs |
접속 가능한 IP 대역 확인 방법
3306번 포트는 127.0.0.1, 즉 로컬에서만 접속이 가능한 상태이다.
|
1
2
3
|
user@host:~$ netstat -an | grep 3306
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN
user@host:~$
|
cs |
접속 허용 IP 대역 재정의 방법
설정 파일은 “/etc/mysql/mysql.conf.d/mysqld.cnf” 이다. 기본 설정은 아래와 같이 되어 있다.
|
1
2
3
4
|
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind–address = 127.0.0.1
|
cs |
bind-address를 통해 MySQL에 접속을 허용할 IP 대역을 재정의 할 수 있다. 모든 IP 대역에서 접속 가능하게 하려면, 아래와 같이 수정한다.
|
1
|
bind–address = 0.0.0.0
|
cs |
환경
ubuntu 18.04
MySQL 5.7.31
