查看银河麒麟系统ip
到任务栏右下角的网络连接中查看麒麟的网络IP地址(右键-“设置网络项”)
点击连接后的“ i ”图标,查看ip地址
Windows下ping银河麒麟ip,看是否ping通
关闭Windows防火墙
公用网络防火墙不建议关闭
关闭银河麒麟防火墙
进入 /etc/kylin-firewall 目录下
修改kylin-firewall.conf为“Mode=off”
修改完成后使用命令 “source kylin-firewall.conf”上传配置文件修改
删除缓存
打开终端,使用root用户执行命令
rm /var/lib/NetworkManager/NetworkManager.state
执行完毕后重启系统
检查本机默认网关是否填写正确
解决步骤:不填写本机默认的网关,连接要使用的外网;然后在CMD中使用命令添加路由:“route add 要访问的主机ip 你本机默认的网关 -p”
查看本机默认网关
在Windows任意界面内,按下键盘win+x组合键,在弹出的菜单中鼠标单击网络连接选项,打开网络与Internet设置界面,点击页面中的查看硬件与连接属性,在弹出的属性页面中即可查看当前网络参数中的默认网关。
(添加时需要管理员权限使用cmd)
示例:route add 172.16.69.3 172.16.33.254 -p
在cmd中再次ping测试
cmd测试完成,而Navicat还是访问不到,既然ping主机没问题,就可以定位到Navicat本身的连接问题,比如3306端口自身的问题。
a.首先查看Navicat填写的端口名和麒麟mysql服务放开的端口是否一致
i.开启mysql服务器并登陆root用户,选择使用mysql数据库,因为修改远程连接的基本信息保存在mysql数据库中,所以使用mysql数据库。
使用命令“show global variables like ‘port’;” 对照查看端口是否一致
b. 查看3306端口是否ping通
打开cmd运行窗口,输入命令“telnet ip地址 3306”
若失败,则证明虚拟机并未放开3306端口
c.回到虚拟机,输入命令“netstat -anp| grep 3306”
如上图结果中显示mysql 3306前面的ip不是0.0.0.0
d.修改/etc/mysql/mysql.conf.d/mysqld.cnf
将 bind-address = 127.0.0.1 改为 bind-address = 0.0.0.0
意为监听所有地址
e. 开启mysql远程访问权限,允许远程连接
麒麟系统上登入mysql,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,将"localhost"改为"%
更改完毕后使用命令 “flush privilege”更新权限
退出并重启mysql服务
使用Navicat再次测试连接
连接成功!