背景
日常实施中可能会出现在部署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