MySql 导出 - Oracle 的 MySql 闪回时间等价物

问题描述 投票:0回答:1

作为 MySql 的新手...在进行数据库导出的上下文中,是否有等效于 Oracle 的 MySql 闪回时间参数?

我发现最接近的是“lock-tables”命令,但不完全相同,因为它会阻止数据在使用时被更改,从而使用户无法使用数据库应用程序。而“Oracle flashback_time”参数允许数据库可用,同时仍然生成数据与单个时间点一致的导出

mysql export
1个回答
0
投票

MySQL 没有允许您导出过去任意时间戳的数据的功能。

您可以通过以下方式在不锁定的情况下转储数据的current状态:

mysqldump --single-transaction

https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html#option_mysqldump_single-transaction

该选项将事务隔离模式设置为REPEATABLE READ,并在转储数据前向服务器发送START TRANSACTION SQL语句。它仅对事务表(如 InnoDB)有用,因为 它会在不阻塞任何应用程序的情况下转储发出 START TRANSACTION 时数据库的一致状态。

(强调我的)

InnoDB 表是默认的,所以很可能你所有的表都已经是 InnoDB 了。

您可能还想评估Percona XtraBackup,这是一款免费、开源的 MySQL 热备份工具。

© www.soinside.com 2019 - 2024. All rights reserved.