最近线上系统新挂了一次磁盘,需要将系统磁盘下的 mysql 数据目录迁移到 数据盘上。
经过一番考察,mysql在安装时,使用了预编译的二进制tar.gz包。共有两处配置了 datadir属性
/etc/init.d/mysqld 以及 /etc/my.cnf
第一步 清理bin-log
加快复制速度
mysql>purge master logs before 'yyyy-MM-dd HH-mm-ss'
第二步 停止 mysqld服务
service mysqld stop
第三步 修改配置文件
共有两处 /etc/my.cnf /etc/init.d/mysqld
我这里修改data=/alidata/mysql/data 为 datadir=/data/mysql
第四步,使用 cp -Rp 命令复制
cp -Rp /alidata/mysql/data/* /data/mysql/
* 是必须加的,否则会 将上一级 data目录也复制了。
-R 表示复制子目录 -p 表示保留 属性配置(这个很重要,否则无法启动)