在 虚拟机 中搭建 mysql 需先安装兼容 操作系统 (如ubuntu 22.04 或 Rocky linux),再安装 MySQL 服务并运行 mysql_secure_installation 加固;接着修改 bind-address 为 0.0.0.0、创建远程用户、开放 3306 端口,最后从宿主机通过 IP 连接验证。

在 虚拟机 中搭建 MySQL,核心是先装好 操作系统 ,再安装配置 MySQL 服务。整个过程不复杂,但要注意系统兼容性、 端口 冲突和权限设置等细节。
选择并安装合适的虚拟机和操作系统
推荐使用 VirtualBox 或 vmware Workstation 创建虚拟机,操作系统建议选 Ubuntu 22.04 LTS 或 centos 7/8(注意 CentOS 8 已停止维护,可考虑 Rocky Linux 或 AlmaLinux 作为替代)。分配至少 2GB 内存、20GB 磁盘空间,确保网络设为“桥接模式”或“NAT+ 端口转发”,方便后续从宿主机访问 MySQL。
在虚拟机中安装 MySQL 服务
根据系统类型执行对应命令:
- Ubuntu/debian:运行 sudo apt update && sudo apt install mysql-server,安装完成后服务会自动启动。
- RHEL/CentOS/Rocky/AlmaLinux:运行 sudo dnf install mysql-server(或 yum install mysql-server),然后启用服务:sudo systemctl enable mysqld && sudo systemctl start mysqld。
首次启动后,建议立即运行 sudo mysql_secure_installation,设置 root 密码、禁用匿名用户、删除测试 数据库 等,提升安全性。
配置远程访问与 防火墙
默认 MySQL 只监听本地(127.0.0.1),如需从宿主机或其他设备连接,需修改配置:
- 编辑 MySQL 配置文件:/etc/mysql/mysql.conf.d/mysqld.cnf(Ubuntu)或 /etc/my.cnf(RHEL 系),找到 bind-address,改为 0.0.0.0 或指定虚拟机 IP。
- 登录 MySQL,执行:CREATE USER ‘remote’@’%’ IDENTIFIED BY ‘your_password‘; GRANT ALL PRIVILEGES ON *.* TO ‘remote’@’%’; FLUSH PRIVILEGES;
- 开放 防火墙 端口:Ubuntu 用 sudo ufw allow 3306;RHEL 系用 sudo firewall-cmd –permanent –add-port=3306/tcp && sudo firewall-cmd –reload。
从宿主机连接验证
确认虚拟机 IP(如 ip a 查看),在宿主机使用客户端工具(如 MySQL Workbench、navicat 或命令行)连接:
- 命令行示例:mysql -h 192.168.56.101 -P 3306 -u remote -p(IP 替换为虚拟机实际地址)。
- 若连接失败,检查虚拟机网络是否通(ping 测试)、MySQL 是否运行(sudo systemctl status mysqld)、端口是否监听(sudo ss -tuln | grep :3306)。