Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 26.8Mb
PDF (A4) - 26.9Mb
HTML Download (TGZ) - 7.1Mb
HTML Download (Zip) - 7.2Mb


13.4.2.4 SET GLOBAL sql_slave_skip_counter 構文

SET GLOBAL sql_slave_skip_counter = N

このステートメントは、マスターからの次の N 個のイベントをスキップします。これは、あるステートメントによって発生したレプリケーション停止からのリカバリに役立ちます。

このステートメントは、スレーブスレッドが実行されていない場合にのみ有効です。そうでないと、エラーが生成されます。

このステートメントを使用する場合は、バイナリログが実際には、イベントグループと呼ばれるグループのシーケンスとして構成される点を理解することが重要です。各イベントグループは、イベントのシーケンスで構成されます。

  • トランザクションテーブルの場合、イベントグループはトランザクションに対応しています。

  • 非トランザクションテーブルの場合、イベントグループは 1 つの SQL ステートメントに対応しています。

注記

1 つのトランザクションに、トランザクションテーブルと非トランザクションテーブルの両方の変更を含めることができます。

SET GLOBAL sql_slave_skip_counter を使用してイベントをスキップした結果がグループの途中である場合、スレーブは、そのグループの最後に達するまで引き続きイベントをスキップします。そのあと、次のイベントグループから実行が開始されます。

MySQL 5.6 では、このステートメントを発行すると、RELAY_LOG_FILERELAY_LOG_POS、および sql_slave_skip_counter の以前の値がエラーログに書き込まれます。


User Comments
User comments in this section are, as the name implies, provided by MySQL users. The MySQL documentation team is not responsible for, nor do they endorse, any of the information provided here.
  Posted by Michael Widenius on September 27, 2012
The reason for the strange values of sql_slave_skip_counter is that the value is temporarily stored in a global variable which is then copied to the replication thread. However when querying one will always see the global variable (which doesn't always include the right information).

We have fixed this in MariaDB as part of adding multi-source replication.
  Posted by Suyash Jain on January 15, 2014
skip counter is not a viable solution always, you are skipping the records but it might affect the further records.

Here is the complete details on why sql slave skip counter is bad.

http://www.mysqlperformanceblog.com/2013/07/23/another-reason-why-sql_slave_skip_counter-is-bad-in-mysql/

Thanks
Suyash Jain
http://linuxhacks.in
Sign Up Login You must be logged in to post a comment.