大家好,又见面了,我是你们的朋友全栈君。
虚拟机安装mysql数据库,但是window下navicat始终连不上,cmd能够ping的通。
解决:切换到root用户,执行命令 netstat -lntp |grep 3306 (前提你的mysql端口已经启动,并且端口是3306)
结果如下:

navicat 链接不到虚拟机(ubuntu)的mysql
这是正常情况,如果红箭头处是127.0.0.1:3306,那就会链接不成功。
此处是mysql的监听ip地址,如果设置成127.0.0.1或是其他端口就只能是本地或者你设置的固定某一个ip能够访问,其他不行。这可能是默认设置,因为是为了防止其他ip登录修改数据库导致数据混乱。但是这里我们windows访问也就相当于远程访问了。因此要改成0.0.0.0.这样任何ip都能够访问虚拟机的mysql了。
那么怎么修改呢?
修改文件/etc/mysql/mysql.conf.d/mysqld.cnf
(mysql默认安装地址)
注意不是 /etc/mysql/mysql.cnf文件,可能有的人写的是这个文件,如果在这里写会导致重启mysql失败,报Job for mysql.service failed because the control process exited with error c 错误。
加入 bind-address=0.0.0.0
在service mysql restart 重启mysql即可。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/106172.html原文链接:https://javaforall.cn