MySQL 迁移数据目录
- 2026-03-25 21:06:00
- 丁国栋
- 原创 10
本文依然以 Ubuntu Linux 为例,记录将MySQL的数据目录从默认位置改为其他位置。
使用场景:
- 减少根分区或者某个分区的空间占用;
- 更换到性能更好的磁盘增强MySQL服务性能;
大致原则:
- 业务低峰期操作;
- 尽可能保持服务连续,如果做不到就尽量减少服务中断时间;
- 合理的选择和规划数据目录、日志目录(主要是binlog);
- 数据目录和日志目录最好分开,以提高性能和方便备份;
大致流程如下:
- 确定新的data目录,例如 /data/mysql;
- 在停止MySQL服务前先将 /var/lib/mysql/ 同步到 /data/mysql/,例如
rsync -av --chown mysql:mysql /var/lib/mysql/ /data/mysql/; - 提前修改 AppArmor 配置文件
/etc/apparmor.d/usr.sbin.mysqld将mysqld允许 rwk(读写锁定) /data/mysql/ 目录以及子目录,例如/data/mysql/** rwk,; - 停止MySQL服务,同步增量数据;
- 软链接或者修改my.cnf;
- 启动MySQL服务;
--
发表评论