因公司业务需要,对原来在/usr/local/MySQL/data目录下的数据迁移到/data/local/mysql/mysqlData。
原因是系统盘太小,只有20G,几下就快满了。
参考过几篇文章,基于大神们的思路,我封装成了.sh脚本。
步骤如下:
1) 先修改好/etc/my.cnf,
##[mysqld]
##datadir=/data/local/mysql/mysqlData/data
2)编写mysql_datadir_move.sh
#!/bin/bash
echo 1 mkdir /data/local/mysql/mysqlData
mkdir -p /data/local/mysql/mysqlData
#stop mysql
#systemctl status mysqld
echo 2 stop mysqld
systemctl stop mysqld
echo 3 cp -rf /usr/local/mysql/data/ /data/local/mysql/mysqlData
#show variables like ‘%dir%‘;
#move
cp -rf /usr/local/mysql/data/ /data/local/mysql/mysqlData
chown -R mysql:mysql /data/local/mysql/mysqlData/
#vi /etc/my.cnf
##[mysqld]
##datadir=/data/local/mysql/mysqlData/data
#vi /etc/init.d/mysqld
echo 4 start mysqld
systemctl start mysqld
echo 5 finished
3)上传mysql_datadir_move.sh到数据库所在的服务器,运行
chmod u+x mysql_datadir_move.sh && ./mysql_datadir_move.sh
等待一会儿即可完成