今天在本地虚拟机自写项目时,发现一个问题,我在虚拟机Debian系统下搭建的 lamp 环境,利用samba服务共享到win下,在win下的 navicat 连接数据库失败,找了一下原因,是有一个配置文件的一个配置项需要提前更改,才能达到远程访问,解决方法如下。
1:进入Debian系统,vim /etc/mysql/my.cnf .这个是mysql的配置文件
到里面把 bind-address= 127.0.0.1 这一句注释
2:保存退出。重启 mysql,service mysql restart 即可连接成功,
值得注意的是
这种简单粗暴的解决方法只适合本地虚拟机或者测试地址使用,如果真正运行的服务器可以这样让别人远程用root连接数据库,那将会有灾难性的后果,所以在这里,介绍另一个相似但安全性更高的方法,只是这个方法不另做配置的话,虚拟机里面就起不到效果,这个也简单,只要给虚拟机设置添加一个网卡就好了
1:ifconfig 查看本机的IP地址,记住 eth0 和 eth1 这两个网卡的ip地址
2:vim /etc/mysql/my.cnf
还是找到 bind-address = 127.0.0.1 这一句,注意这里就不是注释了,而是将 127.0.0.1 替换成刚才 eth0 这个网卡的 ip 地址;
保存退出;
重启mysql;
3:这时,用上面的方法就连接不上了,我们需要通过ssh才能成功实现远程连接
a) 打开 Navicat ,选中 ssh,先勾选 use ssh tunnel 选项,否则无法填写信息
这里的ip地址是 eth1 的ip地址。账号和密码是 服务器的账号和密码,填写完之后不要点击ok或连接,因为这时只是通过ssh连接到服务器的设置
b) 填写好 ssh 的信息之后,在选中 General 选项卡,这时我们就可以填写连接服务器上mysql的信息了,
Connection Name 这个地方是本地方便辨别的,不写也可以,
注意了,ip 地址这一栏就应该填写我们刚才写进my.cnf 里bind-address的那个IP地址,也是就我们刚才看到的 eth0这个网卡的ip
下面的就是服务器端 mysql 的账号和密码了,填写完整之后就可以正常连接啦
#这样的好处在与多加了一层 SSH 协议的防护,让项目服务器的数据库更加安全。
相关文章
- jmeter连接Mysql数据库测试性能初探
- 记录一次Spring boot 搭建框架连接Mysql数据库注解事务不回滚的故障
- java怎么连接mysql数据库
- mysql数据库在Navicat Premium连接的时候出现1862错误
- PHP MYSQL 数据库配置连接
- 3-STM32物联网开发WIFI(ESP8266)+GPRS(Air202)系统方案数据篇(安装配置数据库,使用Navicat for MySQL和手机APP 连接测试)
- jsp-3 简单的servlet连接mysql数据库 使用mvc的登录注册
- 【Java】Java连接Mysql数据库的demo示例
- 我应该如何将LoopBack Framework应用程序连接到预先存在/数据填充的MySQL数据库/数据源?
- ovs2.7 在系统重启后,再次使用时提示数据库无法连接的问题。