本地Navicat无法连接vmvare虚拟机的mysql
1、提示错误:2003 - Can‘t connect to MySQL server on ‘192.168.5.128’
分析思路:
1.1 本地通过cmd命令ping虚拟机的网址,发现无法ping通
C:\Users\Administrator>ping 192.168.5.128
正在 Ping 192.168.5.128 具有 32 字节的数据:
请求超时。
请求超时。
1.2 查看虚拟机网络的连接方式。虚拟机 的编辑–>虚拟网络编辑器,VMnet8 NAT模式的主机连接为“-”
1.3 本地物理机,控制面板–>网络和Internet–>网络连接,没有vmvare network adapter vmnet1和vmnet8
正常情况下是应该要有如下两项的:
1.4 卸载vmvare,重启
1.5 下载CClean,按下图操作
1.6 重新安装vmvare,本地能ping通虚拟机了
2. 本地navicate再次连接虚拟机的mysql,还是报不能连接~~~
原因:vmvare中开启了防火墙
解决方法:在vmvare中关闭防火墙,由于是Centos所以用systemctl
[root@wangxj lotus]# systemctl stop firewalld.service
3、关闭防火墙后,以为终于能连上了,终于能松了一口气,but~~~这种想法太傻太天真了,新型报错诞生:1045 - Access denied for user,应该是没有权限的原因
解决方案:见图操作,再连接看能否连接上,我的是已经可以连接上了。若不能连接上再操作步骤4和5
1、虚拟机中连接mysql数据库
2、mysql给外来ip授权
mysql>grant all privileges on *.* to 'root'@'我电脑的ip地址' identified by '密码';
或者直接给所有ip授权,%表示允许给任何ip授权
mysql>grant all privileges on *.* to 'root'@"%" identified by '密码';
3、刷新授权
mysql> flush privileges;
4、退出并重启mysql
mysql>exit;
5、重启数据库
#systemctl restart mysqld;