mysql迁移数据到新硬盘

发布时间 2023-03-23 10:28:15作者: qxcheng

最近生产环境的磁盘占用告急,其中mysql数据占比较多,决定将mysql的数据文件迁移到一块新的磁盘,在此记录下。

1.硬盘初始化

1.查看硬盘信息

lsblk

2.分区

fdisk /dev/vdb
输入 n 按回车新建分区
输入 p 按回车新建主分区
设置分区数量 直接回车 默认1
设置分区起始扇区 直接回车 默认2048
设置分区最后扇区 直接回车 采用默认值
输入 p 查看该数据盘的分区情况
输入 w 开始分区并在完成后退出

3.创建文件系统

mkfs -t ext4 /dev/vdb1

4.挂载分区

mkdir /data
mount /dev/vdb1 /data
查看分区情况:
df -h

为防止重启后挂载失效,我们还需要设置开机自动挂载,具体步骤如下:

vim /etc/fstab
在文件底部新增如下记录:
/dev/vdb1 /data ext4 defaults 0 0

2.mysql数据迁移

1.停止服务

service mysql stop

2.迁移数据文件

cp -a /var/lib/mysql /data

3.修改mysql配置文件

vim /etc/mysql/mysql.conf.d/mysqld.cnf
将 datadir 的值修改为 /data/mysql

4.修改apparmor配置文件

vim /etc/apparmor.d/usr.sbin.mysqld
找到
/var/lib/mysql/ r,
/var/lib/mysql/** rwk,
在下面添加两行:
/data/mysql/ r,
/data/mysql/** rwk,
然后重启apparmor:
/etc/inid.d/apparmor restart

5.启动服务

service mysql start