首页 > 技术文章 > CentOs7上Mysql快速迁移脚本

qijiu 2017-05-27 22:22 原文

因公司业务需要,对原来在/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


等待一会儿即可完成


推荐阅读