因公司業務須要,對原來在/usr/local/MySQL/data目錄下的數據遷移到/data/local/mysql/mysqlData。mysql
緣由是系統盤過小,只有20G,幾下就快滿了。sql
參考過幾篇文章,基於大神們的思路,我封裝成了.sh腳本。數據庫
步驟以下:bash
1) 先修改好/etc/my.cnf, 服務器
##[mysqld]
##datadir=/data/local/mysql/mysqlData/datapost
2)編寫mysql_datadir_move.sh.net
#!/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 finishedget
3)上傳mysql_datadir_move.sh到數據庫所在的服務器,運行it
chmod u+x mysql_datadir_move.sh && ./mysql_datadir_move.shclass
等待一下子便可完成