MySQL 磁盘容量不足时的数据库迁移与新磁盘挂载方案
2026/6/5 21:59:54 网站建设 项目流程

不玩虚的,只有干货,笔者实操经验分享。欢迎指正。

第一步:安装配置新磁盘

使用fdisk -l 查看

如上图:sdb是新挂的磁盘,有500G,但没有逻辑目录,需要格式化并配置起来。步骤如下。
#创建pv
pvcreate /dev/sdb #这里不一定是sdb,有可能是vdb,看你的是哪种,笔者是上图的。
#创建vg
vgcreate vg1 /dev/sdb
#创建lv ,这里用了2个(lv1,lv2)
lvcreate -L 300G -n lv1 vg1
lvcreate -L 200G -n lv2 vg1
#这个是执行全部都挂到lv1中
lvcreate -l 100%VG -n lv1 vg1 #本例用到它

#使用ext4格式化lv
mkfs.ext4 /dev/vg1/lv1
这样磁盘准备好了,不过没有mount挂载。

第二步:Mysql数据大挪移(var/lib/mysql目录转移)
#先停Mysql服务
systemctl stop mysql
#更改mysql默认数据目录为myql-bak目录,主要是给新的/var/lib/mysql数据目录腾地方。
mv /var/lib/mysql /var/lib/mysql-bak
#创建新的/var/lib/mysql数据目录并挂载到新磁盘lv1
cd /var/lib
mkdir mysql
mount /dev/vg1/lv1 /var/lib/mysql
#把旧的myql-bak数据文件拷贝到新的mysql数据目录
cp -r -a /var/lib/mysql-bak/* /var/lib/mysql/

#更改新文件夹mysql所有者为mysql用户
cd /var/lib/
chown -R mysql:mysql mysql
#重启mysql服务
systemctl start mysql

这时如果成功就成功大半了。试试登录和访问数据库。

第三步:配置磁盘自动加载
#配置lv1磁盘自动加载
nano /etc/fstab
添加
/dev/vg1/lv1 /var/lib/mysql ext4 defaults 0 0

如下图:

注意:这里配置比较危险。可以使用mount -a验证下,是否正确,如果不报任何消息,就是正确的。

恭喜你,mysql数据库搬家成功。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询