实例在线时移动MySQL数据库

我有一个包含大量数据库的MySQL实例,其中一个数据库是一个归档数据库(尽pipe使用INNODB而不是ARCHIVE存储引擎),在正常操作中不会被查询或写入。

数据文件系统已经满了,我想将归档数据库的数据目录移动到不同的文件系统(然后显式地将其链接回去)。 如果在移动过程中没有SQL语句尝试查询或更新数据,那么在MySQL实例和其他数据库保持联机并正在使用的情况下,我可以安全地执行此操作吗?

我打算将数据库目录rsync同步到新的文件系统,然后将原始文件系统上的旧目录重命名为不同的东西,并创build新的符号链接。 lsof报告MySQL确实打开了.ibd文件,所以推测它必须重新打开它们。

你最好的select就是设置一个触发器,以便在旧数据库中创build一些东西时,它会被模仿。

然后可以启动并更改数据库客户机指向的位置,而不用担心数据过期。

我做了,使用MYISAM存储引擎,但我认为与INNODB是一样的:

mysql“hotcopy”和符号链接