Navicat连接数据库异常

Mysql 发表时间:2018-07-12 15:47:43 作者:梁子亮 浏览次数:848

可能是密码错误,重新设置密码

mysql -uroot -p

Enter password: 【输入原来的密码】

use mysql;
update user set password=passworD("test") where user='root';
flush privileges;
exit;

可能是权限问题 - 优先步骤1

navicat登录不了虚拟机的数据库(ERROR 1130: Host '192.168.16.109'is not allowed to connect to this MySQL server )

mysql -uroot -p

Enter password: 【输入原来的密码】

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'a00000000' WITH GRANT OPTION;
flush privileges;

可能是防火墙问题

vim /etc/sysconfig/iptables

删掉这句

-A INPUT -p tcp -m tcp --dport 3306 -j DROP

增加这句

-A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT

保存后wq退出重启防火墙

service  iptables restart

或者不执行以上开启3306端口方法,简单粗暴的关闭了所有防火墙

service iptables stop

可能是阿里云服务器安全组没开通3306端口

登录阿里云找到安全组,添加安全组3306,授权类型为

地址段访问,授权的对象可写自己的ip/32,

如:27.42.106.60/32,如果服务器也连不上数据库,则把服务器的ip也写上,即:47.75.114.114/32

可能是centos7的3306端口问题 - 优先步骤2

systemctl stop firewalld
systemctl start firewalld
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload

使用NavicatMySQL报错如下:

Lost connection to MySQL server at 'waiting for initial communication packet', system error: 60 "Operation timed out"

vim /etc/my.cnf

添加以下一句,即表示跳过DNS反向解析过程

skip-name-resolve

重启mysql即可

service mysql restart

若mysql连接时报错如下:

如果启动mysql后输入 mysql -uroot -p 输入密码后提示ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2),则可以

ln -s /var/lib/mysql/mysql.sock /tmp