MySQL 数据库只允许从 2 台机器进行 root 访问?

MySQL 数据库只允许从 2 台机器进行 root 访问?

我在 VirtualBox 中有一个运行 Ubuntu 64 位服务器的虚拟机,我想将其用作测试/本地服务器。我在虚拟机中安装了 mysql,并使用安装在主机笔记本电脑(Windows 7 64 位)上的 MySQL Workbench 对其进行管理。

我目前已将其设置为,任何知道 root 密码的人都可以从任何计算机以 root 身份登录到 mysql(在 location 处使用 root 向权限表添加了一个条目%,注释掉了 my-cnf 中的所有 bind-address 行),但我真正想要的是只有我的主机和 VM 才允许 root 访问的情况。我想保持从本地网络中的任何计算机(我现在拥有)与我的 VM 通信的能力,并且主机必须能够拥有动态 IP。

VM 服务器当前设置为使用桥接适配器网络(连接到我的主机 wifi 驱动程序)并且也具有动态 IP,但只要我的 VM 服务器仍然可以访问互联网进行软件更新并且 VM 和主机可以相互通信(用于 putty 访问、mysql 维护、本地网页服务器等),我并不认为这是一个要求。

我该怎么做?这可能吗?如果我需要发布其他信息,请告诉我。

答案1

所以我想我已经找到了一个可以接受的解决方案(原始来源:使用 VirtualBox 实现主机专用网络)。

我创建了 2 个网络适配器,一个连接到我的 DHCP 寻址桥接适配器,另一个连接到仅主机接口。我不太清楚路由器和 DHCP 如何分配地址,但它们似乎都是私有网络的某种变体192.168.*.*,但据我所知,地址空间10.*.*.*也是为私有网络保留

因此,我在 VirtualBox 中将主机网络的 IPv4 地址设置为,10.0.0.1IPv4 网络掩码为255.255.255.0。我还关闭了主机网络的 DHCP 服务器。

我接下来修改了我的etc\network\interfaces文件如下:

# The primary network interface
auto eth0
iface eth0 inet dhcp
# This is an autoconfigured IPv6 interface
iface eth0 inet6 auto
# Host only connection
auto eth1
iface eth1 inet static
    address 10.0.0.2
    netmask 255.255.255.0
    network 10.0.0.0
    broadcast 10.0.0.255

现在,我想要限制的任何内容只能从主机 PC 进行修改,都可以静态寻址为10.0.0.1

例如,在 MySql 中我添加了 所有权限,[email protected]而不是root@%

相关内容