원인:
1. 데이터베이스가 인증되지 않았습니다
2. 서버 방화벽이 포트 3306
1을 열지 않습니다. 데이터베이스가 인증되지 않았습니다.
명령 하나만 사용하세요.
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
입력 후 수정 사항을 적용하려면 다음 명령문이 필요합니다
mysql>FLUSH PRIVILEGES;
(권장 튜토리얼: centos tutorial)
둘째, 서버 방화벽은 포트 3306을 열지 않습니다
centos에는 두 개의 방화벽이 있습니다: FirewallD 및 iptables 방화벽
centos7은 FirewallD 방화벽을 사용합니다.
FirewallD는 지속적인 네트워크 트래픽 규칙을 구현하는 iptables용 프런트엔드 컨트롤러입니다. 명령줄과 그래픽 인터페이스를 제공하며 대부분의 Linux 배포판의 리포지토리에서 사용할 수 있습니다. iptables를 직접 제어하는 것과 비교하면 FirewallD를 사용하는 데에는 두 가지 주요 차이점이 있습니다.
1. FirewallD는 체인 규칙 대신 영역과 서비스를 사용합니다.
2. 규칙 세트를 동적으로 관리하여 기존 세션 및 연결을 파괴하지 않고 규칙을 업데이트할 수 있습니다.
FirewallD는 iptables 규칙을 더 쉽게 관리할 수 있게 해주는 iptables 주변 래퍼입니다. iptables를 대체하는 것은 아닙니다. iptables 명령을 FirewallD와 함께 사용할 수는 있지만 FirewallD를 사용할 때는 FirewallD 명령만 사용하는 것이 좋습니다.
FirewallD 방화벽은 포트 3306을 엽니다
firewall-cmd --zone=public --add-port=3306/tcp --permanent
방화벽을 다시 시작하세요
systemctl restart firewalld.service
위 내용은 centos7에서 원격으로 데이터베이스에 연결할 수 없습니다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!