本人最近在学习使用lamp环境,在配置环境后,想在宿主机中通过Navicat来管理虚拟机中的数据库,但是在连接过程中出现了一点小问题。
在navicat中填写好相应的配置信息:
主机ip填写虚拟机的ip地址即可,将虚拟机设置为NAT模式。
但是在点击测试连接时会连接很久,最后提示10060错误。如下图:
这里的原因可能有很多:
1.此处我用的是root用户,可能你在配置数据库时,将root账户设置为不可远程登录,因此需要检查mysql或者是mairadb的配置项,将其设置为支持远程登陆。
操作起来也不难:
即打开数据库,将mysql数据库中的user表中 user = 'root的记录的host设置为‘%’ ,这样就表示可使root账户远程访问。
mysql
-u root –p
mysql>use
mysql;
mysql>
update
user
set
host
=
'%'
where
user
=
'
limit 1;
2.在设置好root账户之后,如果还不能连接,就可能是防火墙的锅了。
在centos7 中开放mysql的端口,即3306,在终端下执行以下命令:
firewall-cmd --permanent --zone=public --add-service=mysql
即可开放3306端口,对于mariadb数据库是一样的,mariadb数据库的默认端口与mysql相同。
打开之后要reload之后才生效。再执行一行命令:
firewall-cmd --reload
现在就可以成功通过宿主机的navicat访问虚拟机中的数据库了。