MySQL恢复,包括binlog位置MASTER_LOG_POS

时间:2019-04-09 23:54:54

标签: mysql mysqlbinlog

我这样运行MySQL数据库转储:

model = tf.keras.models.Sequential([
  tf.keras.layers.Flatten(),
  tf.keras.layers.Dropout(0.2),  
  tf.keras.layers.Dense(50, activation='sigmoid'),
  tf.keras.layers.Dense(50, activation='linear'),
  tf.keras.layers.Dense(100, activation='sigmoid'),
  tf.keras.layers.Dense(25, activation='softmax'),
  tf.keras.layers.ReLU(max_value=1)
])

这将创建一个转储文件,其中包含以下行:

mysqldump mydatabase -u root -p --single-transaction --events --routines --quick --master-data=2 --flush-logs --flush-privileges > mydump.sql

这告诉我从mysql-bin.000008开始记录了所有新更改

然后,在加载转储文件之后,我可以这样加载增量文件(假设在某个时候还创建了mysql-bin.000009):

CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000008', MASTER_LOG_POS=120;

但是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

1 个答案:

答案 0 :(得分:1)

https://dev.mysql.com/doc/refman/5.6/en/mysqlbinlog.html#option_mysqlbinlog_start-position说:

  

-start-position = N,-j N

     

在具有位置的第一个事件开始读取二进制日志   等于或大于N。此选项适用于第一个日志文件   在命令行上命名。

     

此选项对于时间点恢复很有用。