MySQL 서버 데이터베이스에 원격으로 연결합니다. 오류 코드는 1130입니다. ERROR 1130: 호스트 xxx.xxx.xxx.xxx는 이 MySQL 서버에 연결할 수 없습니다.
두 가지 이유가 있는 것 같습니다. 하나는 MySQL 제한 때문이고, 다른 하나는 방화벽 제한입니다.
1. 방화벽 제한 사항을 해결하세요.
MySQL 서비스 호스트에서 방화벽을 끄거나 고급 방화벽 설정에서 인바운드 및 아웃바운드 규칙을 추가하고 MySQL 포트를 추가한 후 MySQL 포트를 통해 호스트에 대한 액세스를 허용하세요.
방화벽 구성 수정(시스템이 다름, 방화벽 구성 파일이 다름) 블로거는 centos7에 설치된 iptables입니다
$ vi /etc/sysconfig/iptables
열고 구성 파일에 한 줄 추가
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
그런 다음 저장하고 종료합니다
다시 시작 방화벽(centos7)
systemctlrestart iptables.service
2. MySQL의 한계를 해결하려면 MySQL 서비스 호스트에서 다음 sql을 실행하세요
로컬에서 mysql에 로그인한 후 "mysql"의 "user" 테이블에서 "host" 항목을 변경하세요. " 데이터베이스를 만들고 "localhost" '%'에서 이름을 바꿀 수 있습니다.
mysql에 로그인
mysql -u root -p
mysql 데이터베이스를 선택하세요
mysql;use mysql;
mysql 라이브러리에 있는 사용자 테이블의 호스트 값(즉, 호스트/IP 이름)을 확인하세요. 연결 액세스용)
mysql;select 'host' from user where user='root';
호스트 값을 수정하세요(와일드카드 %를 사용하여 콘텐츠에 호스트/IP 주소 추가). 물론 IP 주소를 직접 추가할 수도 있습니다
이 단계에서 오류가 발생하면 "ERROR 1062 (23000): 'PRIMARY' 키에 대해 '%-root' 항목이 중복되었습니다."는 레코드가 존재한다는 의미이므로 건너뛰세요. 이 단계
mysql;update user set host = '%' where user ='root';
권한 변경(루트는 계정 이름, %는 호스트 이름(모든 호스트), 525099302) 은 비밀번호입니다비밀번호는 직접 선택하실 수 있습니다)
GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY "525099302";
권한을 새로고침하시면 mysql이 바로 적용됩니다
flush privileges;
mysql 서비스를 다시 시작하시면 됩니다.
위 내용은 MySQL 연결 제한 및 보고 1130 문제를 해결하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!