背景
日常施行中可能会呈现在部署 mysql 时未更改数据默认存储门路(默认:/var/lib/mysql),然而个别调配服务器的人只会给零碎分区调配 50G 的空间,这导致后续空间不够用的状况,也就呈现了须要迁徙数据的问题
测试环境
租的 3A 服务器,带宽高
[root@wang] cat /etc/redhat-release
CentOS Linux release 7.6.1810(AltArch)
[root@wang] mysqladmin –version
mysqladmin Ver 8.42 Distrib 5.7.28, for Linux on aarch64
迁徙步骤
mysql 默认的数据文件存储目录为 /var/lib/mysql。如果要把目录移到 /data/app/ 下须要进行以下几步:
1、创立目录
mkdir -p /data/app
2、进行 mysql 服务
systemctl stop mysqld.service
3、挪动数据默认文件夹到新地位
mv /var/lib/mysql /data/app/
4、批改 my.cnf 配置文件
编辑 /etc/my.cnf 文件,如果不存在改配置文件,到 /usr/share/mysql/ 下找到 *.cnf 文件,拷贝其中一个到 /etc/ 并改名为 my.cnf)中后再批改。命令如下:
cp /usr/share/mysql/my-medium.cnf /etc/my.cnf
在 /etc/my.cnf 文件中找到以下两行并将等号后的 /var/lib/ 门路批改为新门路 /data/app/
socket=/var/lib/mysql/mysql.sock
socket=/data/app/mysql/mysql.sock
datadir=/var/lib/mysql
datadir=/data/app/
5、更改新目录的文件属主
chown -R mysql:mysql /data/app/mysql
6、启动 mysql 服务
systemctl start mysqld.service