MySQL 主从更新滞后问题

如何强制master在slave赶上全部更新之前阻止更新?

  答:执行以下步骤:

  1. 在master上,执行以下语句:

  mysql> FLUSH TABLES WITH READ LOCK;(阻止所有的更新)

  mysql> SHOW MASTER STATUS;

  记录下结果中的日志文件名以及偏移位置,它们是同步的座标值。

  2. 在slave上,提交以下语句,MASTER_POS_WAIT() 函数的参数的值就是前面取得的同步座标值:

  mysql> SELECT MASTER_POS_WAIT('log_name', log_offset);

  SELECT 语句会阻止更新,直到slave同步到了上述日志文件及位置。在这个时候,slave就和master保持同步了,并且这个语句就会返回。

  3. 在master上,执行以下语句允许master重新处理更新操作:

  mysql> UNLOCK TABLES;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章