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
相关推荐
༒࿈༙྇洞察༙༙྇྇࿈༒3 小时前
PostgreSQL快速入门
数据库·postgresql
携欢3 小时前
Portswigger靶场之Visible error-based SQL injection通关秘籍
数据库·sql
-XWB-3 小时前
PostgreSQL诊断系列(4/6):表空间与膨胀分析——解决“越用越大”的存储难题
数据库·postgresql
幸福清风3 小时前
【SQL】深入理解MySQL存储过程:MySQL流程控制语句详解
数据库·sql·mysql
她说人狗殊途4 小时前
DDL DML DQL DCL 语句
数据库·oracle
**AE86**6 小时前
sed截取慢SQL大文件并导出指定时间范围内容
数据库·sql·sed
花小璇学linux6 小时前
imx6ull-驱动开发篇42——Linux I2C 驱动框架简介
linux·驱动开发·嵌入式软件
凌肖战6 小时前
编写Linux下设备驱动时两种方案:内核态驱动开发和用户态驱动开发
linux·驱动开发
小清兔6 小时前
c#基础知识
开发语言·数据库·学习·unity·c#·游戏引擎·.net
喪彪6 小时前
Ubuntu操作系统下使用mysql、mongodb、redis
redis·mysql·mongodb