说明:
以下远程访问数据库是个人的计算机,不知道是自己的虚拟机配置错了还是网络的问题,反正应该是自身的问题所导致的,可以借鉴一下。
在讲远程访问数据库时先要配置网络,首先我们要了解桥接与NAT模式
桥接:是通过使用主机(物理机)的网卡,获取独立的IP。就像主机的IP和桥接的IP两个在同一个网段。
NAT:把主机当做路由器,通过转发来进行上网。
桥接的使用方式
Workstation->编辑->虚拟网络编辑器 进入了虚拟网络编辑器
这里我们选择“更改设置”,在桥接模式下选择桥接到“自己的网卡”,比如我这里的网卡是Realtek PCIe GBE Family Controller,所以
点确定应用即可。
然后在设置中修改网络适配器为桥接
进入linux,如果我们要设置固定IP的话需手动设置
1.先ifconfig看一下ip
2.查看主机的ip的信息
3.配置静态IP
sudo vim /etc/network/interfaces
4.设置dns
sudo vim /etc/resolv.conf
nameserver 192.168.2.1
5.配置dns永久
sudo vim /etc/resolvconf/resolv.conf.d/base
nameserver 192.168.2.1
6.重启网络服务
sudo /etc/init.d/networking restart
NAT的使用方式跟桥接的使用方式差不多,但要稍微改一下,如
在虚拟网络设置中的NAT设置
之后的手动设置ip要用这个网关 192.168.75.2
远程访问数据库:
1.进入mysql 配置mysql的访问权限
先使用SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;命令查询mysql数据库中所有用户及拥有的权限
2.如果远程访问我们需配置指定ip能访问数据库或所有ip能访问数据库
使用grant all on *.* to 'test'@'localhost' with grant option;命令授权
也可进入mysql数据库进行授权
use mysql;
update user set host = '%' where user = 'test';
flush privileges;
两种方式都一样。
3.访问远程数据库
之前我是用桥接模式的,设置了固定的IP,能上外网并且能ping同主机,但就是不能远程访问数据库,一开始我以为是我的虚拟机数据库版本太低,又换版本,搞了搞半天还是这样,然后我又试着改为NAT连接,发现行的通,但是
这个√必须打上才能远程访问,我这里设置了固定IP,不知道后面会不会更新我的IP。