mysql迁移data目录(Linux-Centos)

随着时间的推移,mysql的数据量越越大,使用yum默认安装的目录为系统盘 /var/lib/mysql,现重新挂载了一个硬盘,需要做数据目录的迁移到 /mnt/data/。以解决占用系统盘过高情况。

1.强烈建议这种操作。镜像一个一样的Centos系统,在测试系统中先验证后无问题再实际生产系统中操作。

2.数据备份,不要删除,以免操作错误,能请及时回滚。

以下是我生产的实际操作脚本

从 /var/lib/mysql迁移到 /mnt/data/

使用 yum 安装 mysql 目录结构

|------------------------------------|--------------------|
| MYSQL目录 | 说明 |
| /var/lib/mysql | mysql数据文件存放路径,可自定义 |
| /etc/my.cnf | mysql配置文件路径 |
| /usr/lib64/mysql | mysql库文件路径 |
| /usr/sbin/mysql*或/usr/bin/mysql* | mysql二进制可执行文件路径 |
| /etc/rc.d/init.d/mysqld | mysql服务管理脚本地址 |
| /var/log/mysqld.log | mysql日志文件路径 |

镜像系统中操作。

1.启动验证下是否OK
复制代码
ps -ef|grep mysql#没有的话,执行启动命令systemctl start  mysqldmysql -uroot -p
2.关闭mysql
复制代码
systemctl stop mysqldps -ef|grep mysql
3.创建新目录,copy数据文件​​​​​​​
复制代码
mkdir -p /mnt/data/
chown -R mysql:mysql /mnt/data
cp  -a /var/lib/mysql /mnt/data/  du -sh *
4.修改配置文件-重启验证-OK​​​​​​​
复制代码
cd /etc#备份配置文件cp my.cnf my.cnf.bak20231026vi my.cnf
systemctl start mysqldps -ef|grep mysql
mysql -uroot -p
show variables like '%datadir%';
5.查看下硬盘使用情况
复制代码
df -hl

风险点:1.由于是测试linux服务器验证的时候是镜像的正式linux的服务器,环境肯定是一样的,就是担心由于可能正式linux有个别应用影响重启mysql

2.各应用需要检查是否正常.

附操作命令(生产)​​​​​​​
​​​​​​​
复制代码
#查看各硬盘使用情况df -hl
#1.查询下进程并关闭mysql(OK)ps -ef|grep mysqlmysql -uroot -psystemctl stop mysqldps -ef|grep mysql
#2.创建目录并授权(已执行)mkdir -p /mnt/data/
chown -R mysql:mysql /mnt/data#3.复制mysql数据文件到新目录(OK)cp  -a /var/lib/mysql /mnt/data/ cd /mnt/datadu -sh *#4.备份配置文件,修改为新目录(OK)cd /etccp my.cnf my.cnf.bak20231101vi my.cnf
#datadir=/mnt/data/mysql#socket=/mnt/data/mysql/mysql.sock
#5.重启msyql,验证(OK)systemctl start mysqldps -ef|grep mysql
mysql -uroot -p
show variables like '%datadir%';
#查看各硬盘使用情况df -hl
相关推荐
羑悻的小杀马特1 小时前
【Linux篇章】Linux 进程信号2:解锁系统高效运作的 “隐藏指令”,开启性能飞跃新征程(精讲捕捉信号及OS运行机制)
linux·运维·服务器·学习·os·进程信号
Blue.ztl2 小时前
菜鸟之路day31一一MySQL之多表设计
android·数据库·mysql
爬树的小蚂蚁4 小时前
Linux 修改bond后网关不生效的问题
linux·运维·服务器
程序员拂雨7 小时前
MongoDB知识框架
数据库·mongodb
风行無痕7 小时前
Ubuntu Linux系统配置账号无密码sudo
linux·服务器·ubuntu
消失在人海中8 小时前
oracle 会话管理
数据库·oracle
爆农8 小时前
centos搭建dokcer和vulhub
linux·运维·centos
Wyc724099 小时前
JDBC:java与数据库连接,Maven,MyBatis
java·开发语言·数据库
重启就好9 小时前
【Ansible】模块详解
linux·服务器·ansible
烧瓶里的西瓜皮9 小时前
Go语言从零构建SQL数据库(9)-数据库优化器的双剑客
数据库·sql·golang