使用navicat远程连接vm虚拟机中的mysql报错了。

在服务器中使用命令 vim /etc/mysql/mysql.conf.d/mysqld.cnf 打开mysqld.cnf文件。

输入 i 进入编辑模式,然后修改bind – address的值。
默认情况下, bind – address 的值为 127.0.0.1 ,现在给他改成0.0.0.0,允许所有IP访问。也可以输入指定ip。

接下来按Esc返回命令模式,使用 :wq! 保存退出。

这里重启一下mysql服务再尝试连接
使用命令 service mysql restart
到这里应该都能连接成功,如果还是不行可以看一下另外一个问题,往下看。


用户权限问题,用户没有远程登录权限

1.先登录mysql

使用命令 :mysql -u root -p 输入密码登录

2.使用命令查询用户权限:
SELECT DISTINCT CONCAT(‘User: ‘’’,user,‘’‘@’‘’,host,‘’‘;’) AS query FROM mysql.user;
这里需要把权限改成‘root’@‘%’

3.更改用户权限
使用命令:grant all privileges on . to root@‘%’ with grant option;

如果没有用户就需要先创建,使用命令:create user 你的用户名@‘%’ identified by ‘你的密码’; 如果有用户请忽略此创建用户命令。