devops

mysql 외부접속 안될 때, "Can't connect to MySQL server on 'ip'"해결방법 본문

DevOps/Opensource

mysql 외부접속 안될 때, "Can't connect to MySQL server on 'ip'"해결방법

vata500 2022. 8. 28. 21:48
반응형

아래와 같이 외부에서 mysql 서버에 접속하려고 하면 connection refused 에러가 뜬다.

에러 내용

난  pymysql 모듈로 어플리케이션과 mysql을 연결하려는 작업을 하려는 중이었고, mysql은 aws 클라우드에 설치되어 있다.

간략히 크게 2가지 원인으로 볼 수 있다.

1. AWS 보안그룹의 인바운드 설정

EC2의 보안그룹에서 mysql의 기본 port인 3306 인바운드를 열어준다.

2. mysqld.cnf 외부 허용 설정

mysqld.cnf 파일에서 bind-address 를 수정하여 외부 접속을 허용한다. 먼저, 외부 접속이 허용되는지 확인하려면 sudo netstat -ntlp | grep mysqld 명령어를 사용하여 확인한다.(수정 전)

mysql 5.7 버전 이상인 경우, /etc/mysql/mysql.conf.d/mysqld.cnf 의 내용에서 아래와 같이 bind-address, mysqlx-bind-address를 0.0.0.0으로 수정한다.

그리고 다시 확인해보면, 

성공!

참고

https://docs.3rdeyesys.com/5.database/ncp_database_mysql_mariadb_config_bind_address/

 

반응형
Comments