Navicat 链接虚拟机Mysql 报错:2003-Can't connect to Mysql server on 'xxx' (10060 "Unknown error")

###前言
    在首次在本机用Navicat链接VMware win10虚拟机中的Mysql数据库报错,如下:
Navicat 链接虚拟机Mysql 报错:2003-Can't connect to Mysql server on 'xxx' (10060

###解决方法
    一、尝试ping虚拟机ip地址
    如果出现链接超时或者是过期的情况,请参考另一篇博客:https://blog.csdn.net/idomyway/article/details/81208994

    一、尝试解决权限问题
    有两种解决方法:

    打开mysql命令执行窗口
Navicat 链接虚拟机Mysql 报错:2003-Can't connect to Mysql server on 'xxx' (10060

    1.授权法

mysql> GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION; 
// %:表示从任何主机连接到mysql服务器
mysql> FLUSH PRIVILEGES;

    或者

mysql> GRANT ALL PRIVILEGES ON *.* TO 'user'@'116.30.70.187' IDENTIFIED BY 'password' WITH GRANT OPTION;
//表示从指定ip从任何主机连接到mysql服务器
mysql> FLUSH PRIVILEGES;

    2.改表法

    可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入MySQL后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从"localhost“改称”%"

mysql -u root -p
mysql>use mysql;
mysql>update user set host = '%' where user = 'root'  and host='localhost';
mysql>select host, user from user;
mysql>FLUSH PRIVILEGES;

**注:**我使用的是第一种情况就解决了

你可能感兴趣的:(VMware)