可以按照以下办法尝试解决
(1)默认远程ip是无法连接登录服务器mysql的,只能在mysql所在服务器登录mysql
使用
use mysql;
select user,host from user;
查看权限只有localhost
然后使用命令添加权限
grant all privileges on *.* to root@"%" identified by '123456' with grant option;
可能会出现如下错误
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
产生的原因:
自定义密码太简单,出现了不符合密码策略的问题
查看 mysql 初始的密码策略
SHOW VARIABLES LIKE 'validate_password%';
发现长度和策略都有要求
# 如果你想设置简单密码,需要降低Mysql的密码安全级别
# 密码安全级别低
set global validate_password_policy=LOW;
# 密码长度最低4位即可
set global validate_password_length=4;
然后该问题解决。
(2)有可能mysql绑定的是回环地址127.0.0.1
使用
netstat -anp | grep 3306 查看
如果是127.0.0.1可以在 /etc/my.cnf中
找到:bind-address = 127.0.0.1
去除 IP 地址绑定,把它改为:bind-address = 0.0.0.0
#然后重启 MySQL Server
systemctl restart mysqld
(3)可能是服务器防火墙不允许3306连接
firewall-cmd --list-ports
#使用命令查看允许连接的端口
开放3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
重启防火墙
问题解决。