>운영 및 유지보수 >CentOS >centos는 mysql에 원격으로 연결할 수 없습니다

centos는 mysql에 원격으로 연결할 수 없습니다

王林
王林원래의
2020-03-18 14:12:511999검색

centos는 mysql에 원격으로 연결할 수 없습니다

원인:

1. 데이터베이스가 인증되지 않았습니다.

2. 서버 방화벽이 포트 3306을 열지 않습니다.

해결책:

1. 데이터베이스가 인증되지 않았습니다.

mysql 데이터베이스에 대한 인증이 없습니다. 명령 하나만 사용하세요.

(추천 튜토리얼: centos 사용법 튜토리얼)

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

//远程连接数据库的时候需要输入用户名和密码
用户名:root
密码:123456
指点ip:%代表所有Ip,此处也可以输入Ip来指定Ip

输入后使修改生效还需要下面的语句
mysql>FLUSH PRIVILEGES;

2. 서버 방화벽은 포트 3306을 열지 않습니다

centos에는 FirewallD와 iptables 방화벽이 있습니다

centos7은 FirewallD 방화벽을 사용합니다.

FirewallD는 지속적인 네트워크 트래픽 규칙을 구현하는 iptables용 프런트엔드 컨트롤러입니다. 명령줄과 그래픽 인터페이스를 제공하며 대부분의 Linux 배포판의 리포지토리에서 사용할 수 있습니다. iptables를 직접 제어하는 ​​것과 비교하면 FirewallD를 사용하는 데에는 두 가지 주요 차이점이 있습니다.

1. FirewallD는 체인 규칙 대신 영역과 서비스를 사용합니다.

2. 규칙 세트를 동적으로 관리하여 기존 세션 및 연결을 파괴하지 않고 규칙을 업데이트할 수 있습니다.

FirewallD는 iptables 규칙을 더 쉽게 관리할 수 있게 해주는 iptables 주변 래퍼입니다. iptables를 대체하는 것은 아닙니다. iptables 명령을 FirewallD와 함께 사용할 수는 있지만 FirewallD를 사용할 때는 FirewallD 명령만 사용하는 것이 좋습니다.

1. FirewallD 방화벽은 포트 3306

 firewall-cmd --zone=public --add-port=3306/tcp --permanent

을 엽니다. 명령 의미:

--zone #作用域

--add-port=3306/tcp #添加端口,格式为:端口/通讯协议

--permanent  #永久生效,没有此参数重启后失效

방화벽을 다시 시작하세요

systemctl restart firewalld.service

2. iptables는 포트 3306

/sbin/iptables -I INPUT -p tcp -dport 3306 -j ACCEPT

/etc/rc.d/init.d/iptables save

권장 관련 비디오 튜토리얼: linux 비디오 튜토리얼

위 내용은 centos는 mysql에 원격으로 연결할 수 없습니다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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