我一直在阅读网站,它声称:
Percona XtraBackup可以通过在备份结束时短暂暂停写操作来备份以下存储引擎: MyISAM、Merge、Archive .
为了实现这一功能,我错过了xtrabackup二进制文件中的标志或选项吗?
我将XtraBackup 2.3.4安装在CentOS 7.2服务器上,以及MySQL 5.6.30。我创建了一个包含大约3200万行的新MyISAM表,并使用以下内容启动了备份过程:
xtrabackup --user=user --password=password --no-timestamp --compress --backup --target-dir /tmp/my_backup当备份正在进行时,我试图将一个新行写入表中,充分期望将其插入到表中,因为这是网站所暗示的。然而,事实并非如此。在整个备份过程中,MyISAM表被锁定。
我理解为什么表是锁定的,因此我非常兴奋地看到XtraBackup可以执行备份,而不会在结束前暂停任何重要的写操作。我只是不明白如何实现这个功能。
发布于 2016-04-18 15:16:08
否- MyISAM体系结构禁止热备份-它使用锁定机制。您可能对我在相关螺纹中的反应感兴趣。
以数据库的mysqldump为例,将ENGINE=MyISAM更改为ENGINE=InnoDB (InnoDB使用MVCC体系结构),然后恢复- XtraBackup将执行热备份。使用sed进行我建议的编辑相对容易
mysqldump [options] | sed 's/ENGINE=MyISAM/ENGINE=InnoDB/g' > my_schema.sql 然后用正常的方式恢复你的垃圾文件。
MyISAM在不久的将来将成为已弃用!编辑-增加19/04/2018年 -- MySQL 8中的系统表是现在InnoDB!
在回答OP关于Percona的XtraBackup页面是“完全捏造”的问题时,引语是“可以在备份结束时暂停写操作来备份以下存储引擎”。
我认为这个页面上的关键词是“简短的”:-)看看这里 - Bill是这个论坛上的一个大击球手。
另外,看看Shlomi Noach 他说是如何看待MyISAM热备份的(或者说缺乏!)--他也是MySQL世界中的一个大击球手。他提到的文件系统快照是mylvmbackup,它似乎有相当好的代表。这里。
https://dba.stackexchange.com/questions/135616
复制相似问题