可能是密码错误,重新设置密码
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