`

vbox中Linux mysql 的远程连接

阅读更多

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~

  • 大小: 33.8 KB
  • 大小: 9.8 KB
  • 大小: 15.7 KB
  • 大小: 27.5 KB
  • 大小: 12.1 KB
  • 大小: 22 KB
  • 大小: 21.3 KB
  • 大小: 28.2 KB
  • 大小: 4.5 KB
  • 大小: 8.1 KB
  • 大小: 26.2 KB
  • 大小: 34.6 KB
  • 大小: 27.7 KB
  • 大小: 10.4 KB
0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics