navicat远程连接虚拟机中的MySQL数据库

1、在linux查看mysql服务器IP地址

   ifconfig

记住此IP

navicat设置

 设置完毕

 

遇到问题

一直连不上,在网上搜索了一下,主要原因为两种

1 虚拟机防火墙或者 3306端口未启用

2 mysql授权问题

 

问题1 

连接时错误提示

使用图形界面管理工具Navicat for MySQL连接Mysql数据库时提示错误:Can't connect to MySQL server (10060)

 

问题原因:

导致些问题可能有以下几个原因:

1、网络不通;

2、服务未启动;

3、防火墙端口未开放;

解决方法:

启动服务:

  首先,我用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,链接测试,如下图,成功。

 

posted on 2019-05-10 17:06  brankoliu_liu  阅读(14617)  评论(0编辑  收藏  举报