mysql“热复制”和符号链接

mysql“热复制”和符号链接

这是规划移民时的一个问题。

mysql 服务器 5.1.58-1-log(Debian)将 datadir 设置为 disk0 上的 /dbs0 以及其中的所有 myisam 数据库。

我们将在磁盘 1 上创建新的 /dbs1,停止服务器,只移动 /dbs1 上的某些数据库,对于保留在 /dbs0 中的其他数据库,我们将在 /dbs1 中创建符号链接。完成后,将 datadir 重新设置为 /dbs1 并启动服务器。

这部分很简单,它会起作用,预计会分配 IO 并提高性能。

假设您是 root。如果在 datadir /dbs1 中创建了新的 myisam 数据库,是否可以将其移动到 /dbs0,然后在 datadir 中创建符号链接,所有这些都是在服务器运行时进行的?

答案1

移动数据库命名轻拍/dbs1/dbs0这种简单的方法有效,无需停止服务器,甚至不需要刷新锁定它,只需锁定您正在处理的当前数据库。

  • 启动线程0:
    • 连接到 mysql,使用轻拍
    • 锁定表...(所有表)写入
    • 启动线程1
      • sudo mv /dbs1/dab /dbs0/dab && ln -s /dbs0/dab /dbs1/dab
    • 结束线程1
    • 解锁表,断开连接

相关内容