要让本地环境可以访问虚拟机中的数据库,您可以按照以下步骤进行设置:
-  
配置虚拟机网络:
- 确保虚拟机的网络设置为桥接模式,这样虚拟机可以获得与本地网络相同的IP地址段。
 
 -  
查看虚拟机IP地址:
- 在虚拟机中运行以下命令来查看虚拟机的IP地址:
 
ip addr -  
配置MySQL允许远程访问:
- 在虚拟机中的MySQL配置文件中(通常是
/etc/mysql/my.cnf或/etc/my.cnf),确保MySQL监听所有网络接口:bind-address = 0.0.0.0 - 重启MySQL服务以使更改生效:
systemctl restart mysql 
 - 在虚拟机中的MySQL配置文件中(通常是
 -  
设置MySQL用户权限:
- 在MySQL中为远程访问设置一个新的用户,并授予该用户从远程主机访问数据库的权限:
 
CREATE USER 'your_user'@'%' IDENTIFIED BY 'your_password'; GRANT ALL PRIVILEGES ON *.* TO 'your_user'@'%' WITH GRANT OPTION; FLUSH PRIVILEGES; -  
防火墙设置:
- 确保虚拟机的防火墙允许从本地主机访问虚拟机的MySQL端口(默认为3306端口)。
 
 
5.1. 查看防火墙状态:
在虚拟机中运行以下命令来查看防火墙状态:
firewall-cmd --state
 
5.2. 允许MySQL端口通过防火墙:
- 如果防火墙处于运行状态,您需要允许MySQL端口通过防火墙。假设MySQL默认端口为3306,您可以运行以下命令:
 
firewall-cmd --zone=public --add-port=3306/tcp --permanent
 
这将允许TCP流量通过3306端口。
 5.3. 重新加载防火墙规则:
- 重新加载防火墙规则以使更改生效:
sudo firewall-cmd --reload 
5.4. 验证防火墙规则:
- 确保MySQL端口已经添加到防火墙规则中:
sudo firewall-cmd --list-ports 
5.5. 检查防火墙配置:
- 您还可以查看防火墙的详细配置,以确保MySQL端口已正确添加:
sudo firewall-cmd --list-all 
通过按照上述步骤设置防火墙规则,您可以确保虚拟机的防火墙允许从本地主机访问MySQL端口,从而使本地环境能够成功连接到虚拟机中的MySQL数据库。
- 本地访问: 
- 在本地环境中,使用虚拟机的IP地址和MySQL端口来连接到虚拟机中的MySQL数据库:
 
mysql -h <虚拟机IP地址> -u your_user -p 
通过按照上述步骤配置,您应该能够让本地环境成功访问虚拟机中的MySQL数据库。