Linux下mysql数据文件转移攻略

随着业务增长,MySQL数据文件占用空间增大,为解决磁盘告急问题,本文提供了一种将MySQL数据文件转移到更大磁盘的解决方案。具体步骤包括:暂停MySQL服务,使用cp -a命令迁移数据,更新配置文件设定新数据目录,调整selinux策略,最后重启MySQL服务以完成迁移。
缘由

随着业务的持续运行,mysql的数据文件越来越大,磁盘空间告急。。。

解决方案

需要将mysql的数据文件转移到另一块更大的有磁盘上

操作步骤
1.暂停mysql的服务

systemctl stop mysqld

2. 将mysql的数据文件转移到目标磁盘目录, 如 /data/mysql

cp -a /var/lib/mysql /data/mysql
用cp -a, 可以保留原目录的上下文信息,如权限等设置
转移后的目录:在这里插入图片描述

3. 更改mysql的配置文件,设置新数据目录地址与socket地址

主要修改如下三项:在这里插入图片描述

4. 更改selinux的策略,如果关闭了selinux,这一步可以跳过

4.1 安装修改工具semanage
yum -y install policycoreutils-python
4.2 执行如下两条修改指令
semanage fcontext -a -t mysqld_db_t "【新的mysql数据文件目录】(/.*)?"如 : semanage fcontext -a -t mysqld_db_t "/data/mysql(/.*)?"
restorecon -Rv 【新的mysql数据文件目录】如 : restorecon -Rv /data/mysql

4.3 修改后的策略可通过命令semanage fcontext -l | grep -i mysql查看
在这里插入图片描述

5. 启动mysql, 转移完成
后记:

其实可以更简化,从第三步开始,不用更改mysql的配置,只需要建立原数据目录与新目录之前的软链接,就可以了
ln -s /data/mysql /var/lib/mysql

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值