MySql导出- Oracle的flashback_time对应于MySql

sg24os4d  于 2023-05-05  发布在  Mysql
关注(0)|答案(1)|浏览(80)

作为一个刚接触MySQL的人,在执行数据库导出的上下文中,是否有与Oracle的用于MySql的flashback_time参数等效的参数?
我发现最接近的是“lock-tables”命令,但不完全相同,因为它阻止数据在使用时被更改,从而使用户无法使用数据库应用程序。而“Oracle flashback_time”参数允许数据库可用,同时仍然生成其数据与单个时间点一致的导出

2ic8powd

2ic8powd1#

MySQL没有允许导出过去任意时间戳的数据的功能。
您可以通过以下方式转储数据的 * 当前 * 状态而不锁定:

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热备份工具。

相关问题