版权声明:本文为博主原创文章,网络媒体转载请注明出处,否则属于侵权行为 https://blog.csdn.net/github_38336924/article/details/82455500
MySQL
远程访问失败的原因
及解决方案
1、失败的原因
1.1、 /etc/mysql/my.cnf
文件中bind-address = 127.0.0.1
没有注释掉
1.2、 端口3306
没有开放,使用 ss -tlnp
命令查看网络端口开启状态
如上图,MySQL
仅允许本地访问
1.3、 在MySQL
数据库user
表中host
字段值为localhost
2、解决方案
2.1、/etc/mysql/my.cnf
文件中,在bind-address = 127.0.0.1
前面加#
注释该行代码
2.2、在CentOS 7
中需要通过如下命令开放3306
端口
# 开放端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 重启防火墙
systemctl restart firewalld.service
2.3、修改MySQL
数据库user
表,以允许远程访问
在user
表中Host
字段值可以是%
代表所有,也可以192.168.0.1
指定IP
# 开启root用户远程访问
UPDATE user SET Host = '%' WHERE User = 'root';
flush privileges;
# 创建新的远程访问用户 `推荐`
GRANT ALL PRIVILEGES ON *.* TO 'dadeity'@'%' IDENTIFIED BY '[email protected]' WITH GRANT OPTION;
flush privileges;