>데이터 베이스 >MySQL 튜토리얼 >Ubuntu에서 MySQL 서버에 원격으로 액세스할 수 없는 이유는 무엇이며 어떻게 해결합니까?

Ubuntu에서 MySQL 서버에 원격으로 액세스할 수 없는 이유는 무엇이며 어떻게 해결합니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-03 04:38:07731검색

Why Can't I Remotely Access My MySQL Server on Ubuntu, and How Do I Fix It?

Ubuntu에서 원격 MySQL 연결 설정

문제 설명

원격 권한을 부여했음에도 불구하고 MySQL 서버에 대한 원격 액세스 시도가 액세스 거부 오류와 함께 실패합니다.

솔루션

MySQL 바인딩 구성 주소

MySQL 버전 5.6 이하에서 원격 연결을 허용하려면 /etc/mysql/my.cnf에서 다음 줄의 주석 처리를 제거해야 합니다.

#Replace xxx with your IP Address 
bind-address        = xxx.xxx.xxx.xxx

또는 바인드 주소 =를 사용합니다. 0.0.0.0을 사용하면 모든 IP로부터의 연결을 허용할 수 있습니다.

MySQL 버전 5.7 이상의 경우 /etc/mysql/mysql.conf.d/mysqld.cnf의 바인드 주소.

IP 주소 바인딩 확인

MySQL을 다시 시작하고 lsof -i -P | grep :3306. 서버의 IP 주소를 반환해야 합니다.

원격 사용자 및 권한 생성

localhost와 %:

CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass';
CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass';

모두에서 적절한 권한을 가진 원격 사용자를 생성합니다.

GRANT ALL ON *.* TO 'myuser'@'localhost';
GRANT ALL ON *.* TO 'myuser'@'%';

필요한 권한:

FLUSH PRIVILEGES; 
EXIT;

마지막으로 권한을 플러시하고 종료:

원격 액세스 확인

실패한 경우 추가 오류 메시지를 확인하거나 my.cnf 구성을 검토하세요. 사용할 수 없는 경우 문제 해결을 위해 lsof 설치를 고려하십시오.

참고my.cnf의 바인드 주소 변경으로 문제가 해결되지 않으면 /etc/mysql/에서 수정해 보십시오. mariadb.conf.d/50-server.cnf, 원래 선언된 위치입니다.

위 내용은 Ubuntu에서 MySQL 서버에 원격으로 액세스할 수 없는 이유는 무엇이며 어떻게 해결합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.