MySQL 迁移数据目录

2026-03-25 21:06:00
丁国栋
原创 10
摘要:本文记录如何将MySQL的数据目录从默认位置改为其他位置。

本文依然以 Ubuntu Linux 为例,记录将MySQL的数据目录从默认位置改为其他位置。

使用场景:

  • 减少根分区或者某个分区的空间占用;
  • 更换到性能更好的磁盘增强MySQL服务性能;

大致原则:

  • 业务低峰期操作;
  • 尽可能保持服务连续,如果做不到就尽量减少服务中断时间;
  • 合理的选择和规划数据目录、日志目录(主要是binlog);
  • 数据目录和日志目录最好分开,以提高性能和方便备份;

大致流程如下:

  1. 确定新的data目录,例如 /data/mysql;
  2. 在停止MySQL服务前先将 /var/lib/mysql/ 同步到 /data/mysql/,例如 rsync -av --chown mysql:mysql /var/lib/mysql/ /data/mysql/
  3. 提前修改 AppArmor 配置文件  /etc/apparmor.d/usr.sbin.mysqld 将mysqld允许 rwk(读写锁定) /data/mysql/ 目录以及子目录,例如 /data/mysql/** rwk,
  4. 停止MySQL服务,同步增量数据;
  5. 软链接或者修改my.cnf;
  6. 启动MySQL服务;

--

发表评论
博客分类