我像这样运行 MySQL 数据库转储:
mysqldump mydatabase -u root -p --single-transaction --events --routines --quick --master-data=2 --flush-logs --flush-privileges > mydump.sql
这将创建一个转储文件,其中包含以下行:
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000008', MASTER_LOG_POS=120;
这告诉我任何新的更改都记录在 mysql-bin.000008 开始
然后,我可以在加载我的转储文件后,像这样加载增量文件(假设 mysql-bin.000009 也在某个时候创建):
mysqlbinlog mysql-bin.000008 mysql-bin.000009 | mysql -u root -p mydatabase
但是 MASTER_LOG_POS = 120 呢?我是否需要包括在内,如果需要,如何?我的转储命令包括 --flush-logs 所以它应该已经启动了一个全新的文件。
我正在阅读这里https://dev.mysql.com/doc/refman/5.7/en/backup-policy.html和这里https://dev.mysql.com/doc/refman/5.7/en/recovery -from-backups.html