近期由于开发机空间紧张,特地申请了一个网盘。现在想将mysql数据库中的数据迁移到新的网盘下。经过一系列折腾终于成功,步骤如下。
- 关闭mysql服务
service mysqld stop
- 将/var/lib下的mysql目录mv到目标目录
mv -R /var/lib/mysql {target_dir}
为什么要用mv命令,而不用cp命令呢?因为linux文件系统特殊性,mv命令能保留文件的所有属性和权限,尤其是selinux属性。如果用cp命令,就需要回头再去设置mysql文件夹的selinux属性
- 在/var/lib下建立指向新位置的软链接
ln -s {target_dir}/mysql /var/lib/mysql
- 重启mysqld服务
mysqld &