mysql如何在虚拟机中搭建_mysql虚拟化环境实践

来源:这里教程网 时间:2026-02-28 20:46:07 作者:

MySQL 在虚拟机中搭建,本质是普通 Linux 安装流程的复现,但需特别注意资源分配、网络连通性与持久化设计——虚拟机不是“更轻量的服务器”,而是更容易因配置疏忽导致连接失败或数据丢失的环境。

虚拟机基础配置要点(内存、磁盘、网络)

MySQL 对内存敏感,

innodb_buffer_pool_size
默认会占系统内存 75%,若虚拟机只配 1GB 内存,MySQL 启动后极易 OOM;磁盘建议用独立虚拟硬盘(非与系统盘共用),格式化为
xfs
ext4
并挂载到
/var/lib/mysql
;网络推荐桥接模式(Bridged),避免 NAT 下端口转发失效或宿主机无法直连。

最低建议:2 核 CPU + 2GB RAM + 20GB 独立磁盘 禁用 swap:MySQL 在交换分区频繁读写时性能断崖式下降,运行
sudo swapoff -a
并注释
/etc/fstab
中 swap 行
关闭 SELinux 或设为 permissive:否则
mysqld
可能因权限拒绝无法绑定 3306 端口

CentOS/RHEL 8+ 安装 MySQL 8.0 的关键步骤

官方不再提供

mysql-community-server
的 yum 仓库默认启用,必须手动导入 GPG 密钥并启用模块流;若跳过这步,
yum install mysql-server
会报 “No match for argument”。

下载并安装 RPM 仓库包:
sudo dnf install https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm
启用 mysql80 模块:
sudo dnf module enable mysql:8.0
安装服务:
sudo dnf install mysql-server
首次启动前先初始化:
sudo mysqld --initialize --skip-grant-tables
(仅调试用),生产环境应直接
sudo systemctl start mysqld
,密码在
/var/log/mysqld.log
中查找
A temporary password

宿主机连不上虚拟机 MySQL 的常见原因

错误现象常是

ERROR 2003 (HY000): Can't connect to MySQL server on '192.168.x.x' (111)
,90% 以上不是 MySQL 没启,而是防火墙或 bind 地址拦住了。

检查 MySQL 是否监听外部地址:
sudo ss -tlnp | grep :3306
,若显示
127.0.0.1:3306
,说明
bind-address = 127.0.0.1
未改,需在
/etc/my.cnf
[mysqld]
段落加
bind-address = 0.0.0.0
开放防火墙端口:
sudo firewall-cmd --permanent --add-port=3306/tcp
+
sudo firewall-cmd --reload
确认用户允许远程登录:登录 MySQL 后执行
CREATE USER 'root'@'%' IDENTIFIED BY 'your_password'; GRANT ALL ON *.* TO 'root'@'%'; FLUSH PRIVILEGES;

数据持久化与快照陷阱

虚拟机快照(Snapshot)不能替代 MySQL 备份。InnoDB 的事务日志(

ib_logfile*
)和数据文件(
ibdata1
)处于中间状态时打快照,恢复后大概率报
Tablespace is missing
或崩溃。

停机快照前务必执行:
sudo systemctl stop mysqld
,再打快照
更安全的做法是用逻辑备份:
mysqldump --all-databases --single-transaction > backup.sql
,配合
crontab
定期导出到宿主机共享目录
若用 LVM 或虚拟磁盘快照,需确保 MySQL 已调用
FLUSH TABLES WITH READ LOCK
(仅限 MyISAM)或依赖
--single-transaction
保证一致性

虚拟机里跑 MySQL,最常被忽略的是磁盘 I/O 虚拟化层带来的延迟放大——哪怕宿主机 SSD 很快,虚拟磁盘控制器选错(如 IDE 而非 VirtIO)或未开启

discard
io_uring
支持,
INSERT ... SELECT
类操作可能慢 3 倍以上。

相关推荐