解决Navicat连接服务器mysql连接不上的问题

104 阅读1分钟

可以按照以下办法尝试解决

(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

 ​编辑

重启防火墙

​编辑

问题解决。