
有个疑问,binlog 可以指定时间点进行回滚
但 mysqldump 怎么确定结束时间点呢?
因为只有知道 mysqldump 那个备份文件里的结束时间,我才能确定 binlog 回滚的开始时间要设置为多少 我备份的时候使用了--single-transaction参数,那这个备份期间,其实还是有数据insert,update之类的操作。
所以想要用 mysqldump 的备份文件跟 binlog 进行数据无缝回滚,要怎么搞法。
2 choury 2018-06-01 12:38:53 +08:00 via Android 备份开始时用 show master status 看当前 binlog 位置,导入的时候就从这里导,不过备份里面要考虑的内容挺多的,锁表啊,事务啊,ddl 啊…… |
3 fanne OP @choury #2 开始时间知道的,关键是结束时间,假如数据库比较大,从开始导结束也有一段时间,无论长短,这段时间都会写东西进去的,然后不知道结束时间,那我 binlog 就无法定位从哪里开始还原了 |
4 defunct9 2018-06-01 13:58:33 +08:00 结束时间看 dump 出的文件的时间戳,就可以了吧。 |
7 MarioxLinux 2018-06-01 16:11:39 +08:00 了解一下参数 --flush-logs Flush MySQL server log files before starting dump |
8 fanne OP @choury #5 现在是这个的,REPEATABLE-READ,你的意思是,mysqldump 这个 session,其实看不到其他 session 操作的,所以我那 binlog 恢复的时候,就拿 mysqldump 开始的那个时间点?是这么理解么 |
9 fanne OP |
10 Loyalsoldier 2018-06-01 18:54:17 +08:00 mysqldump -u user -p password --master-data database > database.sql 了解一下 |