메뉴 건너뛰기

XEDITION

project2018

[Ubuntu] MySQL 외부접속 설정하기

proin 2018.06.10 17:45 조회 수 : 2

https://m.blog.naver.com/PostView.nhn?blogId=onlyu&logNo=220595826451&proxyReferer=https%3A%2F%2Fwww.google.co.kr%2F


[Ubuntu] MySQL 외부접속 설정하기

 

MySQL DB 서버에서 사용자가 외부 접속을 할 수 있도록 설정 한다면 

 

grant all privileges on *.* to MYSQL_ID@"%" identified by 'MYSQL_PASSWORD' with grant option;
FLUSH PRIVILEGES;

 

MySQL ID에접속을 외부도 가능할려면 @에 "%"로 내부만 접속한다면 "%"대신에 "localhost"로 입력하시면 되겠죠.

내부, 외부 접속까지 세팅을 다 했는데 외부에서 접속이 되지 않는다면  MySQL 사용자 계정 설정 외에 다른 곳도 살펴 봐야 합니다.

 

예)

윈도우에서 Ubuntu MySQL DB로 외부 접속이 되지 않을때 에러 메세지

C:xamppmysqlbin>mysql -h192.168.0.x -uroot -p mysql
Enter password: *
ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.0.x' (10061 "Unknown error")

 

포그플러그 Arch Linux에서 Ubuntu MySQL DB로 외부 접속 되지 않는 에러 메세지

[root@pogoplug ~]# mysql -h192.168.0.x -uroot -p mysql
Enter password:
ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.0.x' (111 "Connection refused")
 

MySQL 에러 코드 ERROR 2003 (HY000) 으로 나온다면 아래 해결 방법을 참조 해 주세요.

 

 

해결 방법)

방화벽 설정까지 다 했는데 3306 포트가 열려 있는데 위와 같이 MySQL 외부 접속이 되지 않는다면

Ubuntu 서버에서 터미널을 열어서

root@ubuntu1404:~# netstat -antp | grep mysql
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      10579/mysqld

문제점이 보이시나요? 프로세스가 이상하다고 감이 와야 하는데  

 

자! 이렇게 나온다면 /etc/mysql/my.cnf 파일을 열어서

bind-address           = 127.0.0.1

나온 구문 앞에 주석 처리를 해 주세요. 

#bind-address           = 127.0.0.1

 

그리고 나서 다시 MySQL DB Server를 재구동합니다.

service mysql restart

 

이제 그럼 다시 프로세스를 확인 해 봅니다.

root@ubuntu1404:/etc/mysql# netstat -antp | grep mysql
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      10834/mysqld 

기존 127.0.0.1 로컬에서만 3306포트가 열렸는데 변경된 사항을 확인 할 수 있습니다.

 

이제 제대로 외부 접속이 가능하도록 되었네요.

접속 테스트를 해 봅니다.

 

[root@pogoplug ~]# mysql -h192.168.0.x -uroot -p mysql
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or g.
Your MySQL connection id is 40
Server version: 5.5.46-0ubuntu0.14.04.2 (Ubuntu)

Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

MySQL [mysql]>
 

 

 

 

 

 

(MySQL 내부 아이피만 접속하기)

 

ERROR 2003 (HY000): Can't connect to MySQL server on 'x.x.x.x' (113 "No route to host")

 

공유기 내부 아이피 대역 192.168.0.1~255 접속 가능하도록 iptables에 설정 한다.

/sbin/iptables -A INPUT -s 192.168.0.0/24 -p tcp --destination-port 3306 -j ACCEPT

service iptables save

service iptables restart

/sbin/iptables -L

 


phpmyadmin에서의 접속는 외부 또는 내부에서 phpmyadmin으로 접속을 하고

phpmyadmin에서 localhost로 mysql에 접속을 하기 때문에 phpmyadmin으로 접속을 하는 것은 localhost로 접속을 하는 것이고

mysql로 직접 접속을 하는 것과는 다름.

즉, phpmyadmin으로 연결이 된다 하더라도 mysql이 잘못 되어있으면 안 된다는 것.

번호 제목 글쓴이 날짜 조회 수
91 [검색] [Udacity] SelfDrivingCar- 2-4. 차선 인식(응용) proin 2018.06.20 5
90 [검색] 자율 주행 프로젝트 (opencv, stereo camera , 차선인식 , 장애물 감지 및 회피) proin 2018.06.20 3
89 [검색] [자율주행장난감] Hough Transform을 통한 차선 검출 proin 2018.06.20 2
88 [검색] 강좌 6 OpenCV를 이용한 차선 검출 proin 2018.06.20 4
87 [Open CV] Visual Studio 2015에서 OpenCV 3.2 연동하기 proin 2018.06.19 2
86 [OpenCV] Visual Studio 2017에서 OpenCV 3.4.1를 사용하는 방법 proin 2018.06.19 1
85 ubuntu 16.04에서 iptables설정 save하기 proin 2018.06.18 1
84 PHP 서버 timezone 설정 방법 proin 2018.06.18 2
83 Ubuntu 서버 16.04에 LEMP 스택 설치하기 (Nginx, MySQL, PHP) proin 2018.06.17 5
82 [자율주행] 뭔가 참고하기 괜찮을 듯한 것 proin 2018.06.14 1
81 [YouTube] OpenCV를 이용한 자율주행 자동차 proin 2018.06.14 1
80 [검색] 강좌 7 OpenCV를 이용한 자율 주행 소개 proin 2018.06.14 1
79 Layer 화면 중앙정렬 방법 proin 2018.06.10 4
» [Ubuntu] MySQL 외부접속 설정하기 proin 2018.06.10 2
77 한번에 끝내는 Ubuntu 웹서버세팅 (우분투 서버세팅) proin 2018.06.07 9
76 [linux] 리눅스 링크 폴더 만들기 proin 2018.06.07 2
75 [기본] 리눅스의 퍼미션(권한)을 조정하기 (chmod, chown) proin 2018.06.07 2
74 우분투 - FTP 서버의 설치와 이용법 - vsftpd proin 2018.06.07 1
73 DNSZi에서 Dynamic DNS (리눅스 DDNS 자동 업데이트 설정)관리 하는 법 proin 2018.06.05 1
72 iptables를 사용한 방화벽 설정 proin 2018.06.05 3
위로