作为 MySql 的新手...在进行数据库导出的上下文中,是否有等效于 Oracle 的 MySql 闪回时间参数?
我发现最接近的是“lock-tables”命令,但不完全相同,因为它会阻止数据在使用时被更改,从而使用户无法使用数据库应用程序。而“Oracle flashback_time”参数允许数据库可用,同时仍然生成数据与单个时间点一致的导出
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 热备份工具。