文章目录
- 1、失败的原因
- 1.1、 `/etc/mysql/my.cnf`文件中`bind-address = 127.0.0.1`没有注释掉
- 1.2、 端口`3306`没有开放,使用 `ss -tlnp` 命令查看网络端口开启状态
- 1.3、 在`MySQL`数据库`user`表中`host`字段值为`localhost`
- 2、解决方案
- 2.1、`/etc/mysql/my.cnf`文件中,在`bind-address = 127.0.0.1`前面加`#`注释该行代码
- 2.2、在`CentOS 7`中需要通过如下命令开放`3306`端口
- 2.3、修改`MySQL`数据库`user`表,以允许远程访问
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 'daDeity@163.com' WITH GRANT OPTION;
flush privileges;