MariaDB - 在线 move/archive 个表格

MariaDB - online move/archive tables

我们有一个脚本可以 "rotates"/存档 MySQL 中的 Syslog tables。这个脚本:

2 个步骤是 "online"。不需要 MySQLd 重新启动。

现在我在 MariaDB (Debian Stretch) 中构建了一个新的 Syslog 数据库。 tables 使用的是 InnoDB 而不是 MyISAM。此脚本在第二次执行时失败,无法在移动文件后重命名 MySQL 内的 table:

错误 1050 (42S01): Table 'SystemEvents_1' 已经存在

table 的引用保存在某个地方(table 空间内部系统 table?),这会阻止这样做。

我的问题: 如果我将 tables 迁移到 transactional=0 的 ARIA 引擎,它会起作用吗?

谢谢,文斯

我觉得不可能了。 我将我的表转换为 MyISAM(甚至是 transactional=0 的 Aria)并且有相同的错误消息。我认为最好的办法是使用 mysqldump 导出表而不是直接重命名文件系统文件。不太方便,但 mysqldump 将始终工作,无论选择何种引擎。