`

vbox中Linux mysql 的远程连接

 
阅读更多
原文地址:http://pengranxiang.iteye.com/blog/715643



vbox中Linux mysql 的远程连接

博客分类: Linux
LinuxMySQL虚拟机防火墙vim
1.  首先确保 vbox 中的Linux可以和本机通信.





如果上面两步都没有问题,说明可以vbox 中Linux 可以和本机通信了。

如果不成功(linux 中没有网卡 eth1)
按如下方式设置:


设置后,启动。
输入命令:ifconfig



如图:出现eth1  的信息,说明配置成功。 已经可以和本机通信了。

2. 配置mysql数据库授权
启动MySQL,并登入。




添加一个远程连接账户,mysql默认情况下是不支持远程连接的。




上图中, 为查看当前 MySQL中的账户。 默认会出现上面四行, 最后一行是自己加入的。

其中  host 为 可以连接到 MySQL 数据库的机器名或IP地址。
前三行中指明 root 账户只能通过 本机访问 MySQL  (prx.pengranxiang 为机器名称)

所以默认是不能使用运程登录到 MySQL 的。

我们自己添加一个远程登入授权。

使用命令:grant all privileges on *.* to root@192.168.56.1 identified by '1234' with grant option
上面的命令表示:
把MySQL中的所有数据库的所有表格的所有权限授权给 从192.168.56.1的机器登入的root账户 密码为 '1234'







这里有个问题需要说明:
前面我们看到了,
本机Window中的ip地址为: 192.168.0.101
vbox 中Linux 地址为:192.168.56.101

那为什么授权MySQL远程账号的时候允许连接的 ip 为 192.168.56.1 呢?
原因是:192.168.0.101  和 192.168.56.101 不在同一个网域中, 不能直接交流。 需要通过一个路由器来转换。
那个路由器的地址就是 192.168.56.1 。
192.168.0.101(本机) 的机器要请求连接 192.168.56.101(虚拟机) , (本机)会发现在自己所在网域中找不到(虚拟机),所有他会将请求传给(本机)的路由(也就是网关)192.168.0.1, 路由发现要需(虚拟机)通信,需要192.168.56.1/24的网域,就自己以ip地址192.168.56.1 与(虚拟器)通信,所以(虚拟机)收到的ip地址的请求就来源于 192.168.56.1

注:路由器一般有两个以上的网卡,两个网卡的IP一般为不同网域的地址。  比如:一个为 192.168.0.1 , 一个为  192.168.56.1。 作用就是连接两个不同网域的计算机。

3. 修改Linux中的防火墙
经过以上两步后,就可以在 本机 连接MySQL了。



但是在连接时,会出现上面的错误。连接不到MySQL。

查看Linux中 MySQL是否开启:



发现MySQL 是对外开启的。

于是查看一下防火墙
vim /etc/sysconfig/iptables




发现 MySQL 的端口 3306 的访问没有开放。被过滤掉了。

增加一下内容以开放端口 3306
-A RH-FireWall-1-INPUT -p tcp -m tcp --dport 3306 -j ACCEPT




保存并推出。 然后重启防火墙。service iptables restart





4. 连接MySQL




到这里就连接成功了。O(∩_∩)O~
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics