链接不上虚拟机的mysql数据库吗_windows下用navicat链接虚拟机MySQL数据库的过程和问题解决...

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

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

ifconfig

873185aa4165cea529d9a9a664ab2bf5.png

记住此IP

navicat设置

c0f44007d5ebcaeed7b160b3ea1c8024.png

设置完毕

遇到问题

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

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

2 mysql授权问题

问题1

连接时错误提示

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

db01bba9d02abb0f37adeec254320b8c.png

问题原因:

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

1、网络不通;

2、服务未启动;

3、防火墙端口未开放;

解决方法:

启动服务:

首先,我用navicat去远程链接我虚拟机中的MySQL,链接测试失败。

然后在虚拟机中查看网络端口信息:

#netstat -ntpl

8396938d3e05b1ac2d4c9f0b256454e7.png

iptables -vnL

查看防火墙的状态,查看3306端口,

如果3306如下,是drop状态,或者根本无3306端口,说明3306端口设置问题

1e42e7b98d77a9ea83f4590dc9e37f9a.png

解决办法:

启动服务:

service mysqld start;

开放防火墙端口

添加需要监听的端口

/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT

开启3306端口监听,开启后如下图

880464077763572e206d0cfcdcf43fe8.png

扩展知识

防火墙其他相关操作

临时关闭防火墙服务

service iptables stop

开启防火墙服务

service iptables start

开机不再启动防火墙服务

chkconfig iptables off

问题2

远程链接了一下MySQL,出现了以下错误,查了一下,是因为MySQL没有允许远程登陆,所以要授权MySQL远程登陆。

0411d4228d7f9c56cd2af6d82efd426d.png

从任何主机上使用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,链接测试,如下图,成功。

b2fa90d4deeb1f5af1073d039cd5632d.png

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值