navicat远程链接虚拟机中的MySQL数据库mysql
一、在linux查看mysql服务器IP地址linux
ifconfigsql
记住此IP数据库
navicat设置服务器
设置完毕网络
遇到问题tcp
一直连不上,在网上搜索了一下,主要缘由为两种工具
1 虚拟机防火墙或者 3306端口未启用测试
2 mysql受权问题spa
问题1
链接时错误提示
使用图形界面管理工具Navicat for MySQL链接Mysql数据库时提示错误:Can't connect to MySQL server (10060)
问题缘由:
致使些问题可能有如下几个缘由:
一、网络不通;
二、服务未启动;
三、防火墙端口未开放;
解决方法:
启动服务:
首先,我用navicat去远程连接我虚拟机中的MySQL,连接测试失败。
而后在虚拟机中查看网络端口信息:
#netstat -ntpl
iptables -vnL
查看防火墙的状态,查看3306端口,
若是3306以下,是drop状态,或者根本无3306端口,说明3306端口设置问题
解决办法:
启动服务:
service mysqld start;
开放防火墙端口
添加须要监听的端口
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
开启3306端口监听,开启后以下图
扩展知识
防火墙其余相关操做
临时关闭防火墙服务
service iptables stop
开启防火墙服务
service iptables start
开机再也不启动防火墙服务
chkconfig iptables off
问题2
远程连接了一下MySQL,出现了如下错误,查了一下,是由于MySQL没有容许远程登录,因此要受权MySQL远程登录。
从任何主机上使用root用户,密码:yourpassword(你的root密码)链接到mysql服务器:
# mysql -u root -proot
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
操做完后切记执行如下命令刷新权限
FLUSH PRIVILEGES
这时再经过navicat远程连接MySQL,连接测试,以下图,成功。