问题原因:所连接的用户帐号没有远程连接的权限,只能在本机(localhost)登录权限。

解决方案:

1.关闭防火墙或者防火墙打开某端口

// 关闭防火墙systemctl stop firewalld// 或者不关闭防火墙打开端口firewall-cmd --zone=public --add-port=3306/tcp --permanentfirewall-cmd --reload#重载防火墙配置firewall-cmd --list-all#查看开放的端口

2.修改数据库表

// 登录数据库执行update user set Host='%' where User='root';flush privileges;

将 mysql 数据库里的 user 表里的 host 项,从 “localhost” 改成 “%”

3.进行授权

// 授权 myuser 使用 mypassword 从任何主机连接到 mysql 服务器GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;flush privileges;// 授权用户 myuser 从 IP 为 192.168.1.3 的主机连接到 mysql 服务器,并使用 mypassword 作为密码GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;flush privileges;