MySQL マスタースレーブスイッチチャネルの問題の解決策

MySQL マスタースレーブスイッチチャネルの問題の解決策

VIP を設定した後、アクティブ/スタンバイの切り替え中に表示されるエラー メッセージは次のとおりです。

1. マスターノードとスタンバイノードの現在の binlog ファイル名が同じ場合、元のマスターノードの位置はマスターとスタンバイの切り替え後の位置よりも小さくなり、次のエラーが報告されます。

2020-07-02 15:08:09,332 INFO [destination = 1-236 、address = /192.168.3.100:3306 、EventParser] MysqlConnection:293 | スレーブを登録 RegisterSlaveCommandPacket[reportHost=192.168.3.1、reportPort=63292、reportUser=canal_repl_user、reportPasswd=111111、serverId=10236、command=21]
2020-07-02 15:08:21,227 INFO [宛先 = 1-236、アドレス = /192.168.3.100:3306、EventParser] MysqlConnection:321 | COM_BINLOG_DUMP、位置:BinlogDumpCommandPacket[binlogPosition=1104、slaveServerId=10236、binlogFileName=mysql-bin.000002、command=18]
2020-07-02 15:08:24,979 INFO [宛先 = 1-236、アドレス = /192.168.3.100:3306、EventParser] LogEvent:122 | common_header_len= 19、number_of_event_types= 38
2020-07-02 15:08:24,983 エラー [宛先 = 1-236、アドレス = /192.168.3.100:3306、EventParser] DirectLogFetcher:163 | クライアントソケットからの読み取り中に I/O エラーが発生しました
java.io.IOException: エラー パケットを受信しました: errno = 1236、sqlstate = HY000 errmsg = ログ イベント エントリが max_allowed_pa​​cket を超えました。マスターの max_allowed_pa​​cket を増やします。最初のイベント 'mysql-bin.000002' は 1104 で、最後のイベントは '/usr/local/mysql/logs/mysql-bin.000002' から 123 に読み取られ、最後のバイトは '/usr/local/mysql/logs/mysql-bin.000002' から 1123 に読み取られました。
 com.alibaba.otter.canal.parse.inbound.mysql.dbsync.DirectLogFetcher.fetch(DirectLogFetcher.java:102) で
 com.alibaba.otter.canal.parse.inbound.mysql.MysqlConnection.dump(MysqlConnection.java:169) で
 com.alibaba.otter.canal.parse.inbound.AbstractEventParser$3.run(AbstractEventParser.java:279) で
 java.lang.Thread.run(Thread.java:748) で
2020-07-02 15:08:24,989 エラー [宛先 = 1-236、アドレス = /192.168.3.100:3306、EventParser] MysqlEventParser:301 | ダンプアドレス 192.168.3.100/192.168.3.100:3306 にエラーがあります。再試行しています。原因 
java.io.IOException: エラー パケットを受信しました: errno = 1236、sqlstate = HY000 errmsg = ログ イベント エントリが max_allowed_pa​​cket を超えました。マスターの max_allowed_pa​​cket を増やします。最初のイベント 'mysql-bin.000002' は 1104 で、最後のイベントは '/usr/local/mysql/logs/mysql-bin.000002' から 123 に読み取られ、最後のバイトは '/usr/local/mysql/logs/mysql-bin.000002' から 1123 に読み取られました。
 com.alibaba.otter.canal.parse.inbound.mysql.dbsync.DirectLogFetcher.fetch(DirectLogFetcher.java:102) で
 com.alibaba.otter.canal.parse.inbound.mysql.MysqlConnection.dump(MysqlConnection.java:169) で
 com.alibaba.otter.canal.parse.inbound.AbstractEventParser$3.run(AbstractEventParser.java:279) で
 java.lang.Thread.run(Thread.java:748) で
000002 'at1123。2020-07-0215:08:24,994エラー[宛先= 1-236、アドレス= /192.168.3.100:3306、eventparser]ロガルムハンドラー:19 |アカデミー 'max_allowed_pa​​cket' mysql-bin.000002 'at 1104の増加
 com.alibaba.otter.canal.parse.inbound.mysql.dbsync.DirectLogFetcher.fetch(DirectLogFetcher.java:102) で
 com.alibaba.otter.canal.parse.inbound.mysql.MysqlConnection.dump(MysqlConnection.java:169) で
 com.alibaba.otter.canal.parse.inbound.AbstractEventParser$3.run(AbstractEventParser.java:279) で
 java.lang.Thread.run(Thread.java:748) で
]

このタイプのエラーは max_allowed_pa​​cket に関連しています。まず、max_allowed_pa​​cket は、マスター スレーブ レプリケーション プロセス中に単一のステートメントによって生成されるバイナリ binlog イベントのサイズを制御します。その値は 1024 の倍数である必要があります。このエラーの一般的な原因:

1>。プライマリ データベースとスタンバイ データベースのこのパラメータの構成サイズが一致していません。 プライマリ データベースからスタンバイ データベースに転送された binlog イベントのサイズが、プライマリ データベースまたはスタンバイ データベースの max_allowed_pa​​cket サイズを超えています。変数値を表示できます: SHOW GLOBAL VARIABLES LIKE "%max_allowed_pa​​cket%"; 2 つのライブラリの値が一致しているかどうかを確認します。

2>。対応するオフセット位置が対応するbinlogファイルで見つからない場合は、mysqlbinlogコマンドで確認できます。エラーレポートに1104(位置)が見つからない場合は、既存の位置サイトに切り替えることができます。

mysqlbinlog mysql-bin.000002 --stop-position=1200

/*!50530 @@SESSION.PSEUDO_SLAVE_MODE を 1 に設定します*/;
/*!50003 @OLD_COMPLETION_TYPE=@@COMPLETION_TYPE,COMPLETION_TYPE=0 に設定*/;
区切り文字 /*!*/;
# 4時
#200630 16:24:37 サーバー ID 2 end_log_pos 123 CRC32 0x87e4bed6 開始: binlog v 4、サーバー v 5.7.28-log 作成日 200630 16:24:37
# 警告: このバイナリログは使用中か、適切に閉じられていません。
バイナリログ'
xfb6Xg8CAAAAdwAAAHsAAAABAAQANS43LjI4LWxvZwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAEzgNAAgAEgAEBAQEEgAAXwAEGggAAAAICAgCAAACgoKKioAEjQA
アダ+5Ic=
'/*!*/;
# 123 で
#200630 16:24:37 サーバー ID 2 end_log_pos 234 CRC32 0xd95db8f4 以前の GTID
# b3a0925e-b78b-11ea-9b67-000c2915fd70:51-55,
# b85582c3-14d9-11ea-a64a-000c29ab1835:40-52
# 234 で
#200630 16:25:23 サーバー ID 1 end_log_pos 299 CRC32 0x0ed285db GTID last_committed=0 シーケンス番号=1 rbr_only=yes
/*!50718 トランザクション分離レベルを READ COMMITTED に設定*//*!*/;
@@SESSION.GTID_NEXT を 'b85582c3-14d9-11ea-a64a-000c29ab1835:53' に設定します。
# 299 で
#200630 16:25:23 サーバー ID 1 end_log_pos 362 CRC32 0x34ec0ffb クエリ thread_id=11 exec_time=0 error_code=0
タイムスタンプを 1593505523/*!*/ に設定します。
@@session.pseudo_thread_id=11/*!*/ を設定します。
@@session.foreign_key_checks=1、@@session.sql_auto_is_null=0、@@session.unique_checks=1、@@session.autocommit=1/*!*/ を設定します。
@@session.sql_mode を 524288/*!*/ に設定します。
@@session.auto_increment_increment=1、@@session.auto_increment_offset=1/*!*/ を設定します。
/*!\C utf8 *//*!*/;
@@session.character_set_client=33、@@session.collat​​ion_connection=33、@@session.collat​​ion_server=33/*!*/ を設定します。
@@session.lc_time_names=0/*!*/ を設定します。
@@session.collat​​ion_database=DEFAULT/*!*/ を設定します。
始める
//*!*/;
# 362 で
#200630 16:25:23 サーバー ID 1 end_log_pos 427 CRC32 0x62a09b2f Table_map: `test`.`test_canal_2_hive` が番号 114 にマップされました
# 427 で
#200630 16:25:23 サーバー ID 1 end_log_pos 492 CRC32 0x0f349879 Write_rows: テーブル ID 114 フラグ: STMT_END_F

バイナリログ'
8/b6XhMBAAAAQQAAAKsBAAAAAHIAAAAAAAEABHRlc3QAEXRlc3RfY2FuYWxfMl9oaXZlAAMIDxED
UAAABi+boGI=
8/b6Xh4BAAAAQQAAAOwBAAAAAHIAAAAAAAEAAgAD//iYAAAAAAAAABB6aGFuZ3Nhbi0wMS1zMTI5
原文
'/*!*/;
# 492 で
#200630 16:25:23 サーバー ID 1 end_log_pos 523 CRC32 0x9d38dbb3 Xid = 542
専念 /*!*/;
# 523 で
#200630 16:31:33 サーバー ID 1 end_log_pos 588 CRC32 0x7a71df00 GTID last_committed=1 シーケンス番号=2 rbr_only=yes
/*!50718 トランザクション分離レベルを READ COMMITTED に設定*//*!*/;
@@SESSION.GTID_NEXT を 'b85582c3-14d9-11ea-a64a-000c29ab1835:54' に設定します。
# 588 で
#200630 16:31:33 サーバー ID 1 end_log_pos 651 CRC32 0xec353d4a クエリ thread_id=11 exec_time=0 error_code=0
タイムスタンプを 1593505893/*!*/ に設定します。
始める
//*!*/;
# 651 で
#200630 16:31:33 サーバー ID 1 end_log_pos 716 CRC32 0x0309e1d5 Table_map: `test`.`test_canal_2_hive` が番号 114 にマップされました
# 716 で
#200630 16:31:33 サーバー ID 1 end_log_pos 781 CRC32 0xb7ac4767 Write_rows: テーブル ID 114 フラグ: STMT_END_F

バイナリログ'
Zfj6XhMBAAAAQQAAAMwCAAAAAHIAAAAAAAEABHRlc3QAEXRlc3RfY2FuYWxfMl9oaXZlAAMIDxED
うわあああ
Zfj6Xh4BAAAAQQAAAA0DAAAAAHIAAAAAAAEAAgAD//iZAAAAAAAAABB6aGFuZ3Nhbi0wMS1zMTI5
翻訳:
'/*!*/;
# 781 で
#200630 16:31:33 サーバー ID 1 end_log_pos 812 CRC32 0xa8c3ce12 Xid = 550
専念 /*!*/;
# 812 で
#200630 16:52:25 サーバー ID 1 end_log_pos 877 CRC32 0x8e7366ee GTID last_committed=2 シーケンス番号=3 rbr_only=no
@@SESSION.GTID_NEXT= 'b85582c3-14d9-11ea-a64a-000c29ab1835:55' を設定します。
# 877 で
#200630 16:52:25 サーバー ID 1 end_log_pos 1122 CRC32 0xb5c35333 クエリ thread_id=11 exec_time=0 error_code=0
`test`/*!*/ を使用します。
タイムスタンプを 1593507145/*!*/ に設定します。
@@session.sql_mode を 1436549152/*!*/ に設定します。
'mysql_native_password' で '*FD571203974BA9AFE270FE62151AE967ECA5E0AA' として識別される 'canal_repl_user'@'%' に、*.* 上のレプリケーション スレーブ、レプリケーション クライアントを許可します。
//*!*/;
# 1122で
#200630 16:52:29 サーバー ID 1 end_log_pos 1187 CRC32 0x2f039a0c GTID last_committed=3 シーケンス番号=4 rbr_only=no
@@SESSION.GTID_NEXT を 'b85582c3-14d9-11ea-a64a-000c29ab1835:56' に設定します。
# 1187 で
#200630 16:52:29 サーバー ID 1 end_log_pos 1278 CRC32 0x0348011d クエリ thread_id=11 exec_time=0 error_code=0
タイムスタンプを 1593507149/*!*/ に設定します。
@@session.time_zone を 'SYSTEM'/*!*/ に設定します。
権限をフラッシュする
//*!*/;
SET @@SESSION.GTID_NEXT= 'AUTOMATIC' /* mysqlbinlog によって追加されました */ /*!*/;
区切り文字 ;
# ログファイルの終了
/*!50003 COMPLETION_TYPE を @OLD_COMPLETION_TYPE に設定*/;
/*!50530 @@SESSION.PSEUDO_SLAVE_MODE を 0 に設定します*/;

2. MySQL がマスターとスレーブ間で切り替えられると、バイナリログ ファイル名が同じかどうかに関係なく、元のマスター ノードの位置がマスター スレーブ切り替え後のマスター データベースの現在のバイナリログの位置よりも大きい場合は、次のエラーが報告されます。

2020-07-02 14:51:16,671 INFO [destination = 1-236 、address = /192.168.3.100:3306 、EventParser] MysqlConnection:293 | スレーブを登録 RegisterSlaveCommandPacket[reportHost=192.168.3.1、reportPort=60838、reportUser=canal_repl_user、reportPasswd=111111、serverId=10236、command=21]
2020-07-02 14:51:16,671 INFO [宛先 = 1-236、アドレス = /192.168.3.100:3306、EventParser] MysqlConnection:321 | COM_BINLOG_DUMP、位置:BinlogDumpCommandPacket[binlogPosition=10262、slaveServerId=10236、binlogFileName=mysql-bin.000002、command=18]
2020-07-02 14:51:16,672 エラー [宛先 = 1-236、アドレス = /192.168.3.100:3306、EventParser] DirectLogFetcher:163 | クライアントソケットからの読み取り中に I/O エラーが発生しました
java.io.IOException: エラー パケットを受信しました: errno = 1236、sqlstate = HY000 errmsg = クライアントがマスターに、位置 > ファイル サイズからレプリケーションを開始するように要求しました
 com.alibaba.otter.canal.parse.inbound.mysql.dbsync.DirectLogFetcher.fetch(DirectLogFetcher.java:102) で
 com.alibaba.otter.canal.parse.inbound.mysql.MysqlConnection.dump(MysqlConnection.java:169) で
 com.alibaba.otter.canal.parse.inbound.AbstractEventParser$3.run(AbstractEventParser.java:279) で
 java.lang.Thread.run(Thread.java:748) で
2020-07-02 14:51:16,673 エラー [宛先 = 1-236、アドレス = /192.168.3.100:3306、EventParser] MysqlEventParser:301 | ダンプアドレス 192.168.3.100/192.168.3.100:3306 にエラーがあります。再試行しています。原因 
java.io.IOException: エラー パケットを受信しました: errno = 1236、sqlstate = HY000 errmsg = クライアントがマスターに、位置 > ファイル サイズからレプリケーションを開始するように要求しました
 com.alibaba.otter.canal.parse.inbound.mysql.dbsync.DirectLogFetcher.fetch(DirectLogFetcher.java:102) で
 com.alibaba.otter.canal.parse.inbound.mysql.MysqlConnection.dump(MysqlConnection.java:169) で
 com.alibaba.otter.canal.parse.inbound.AbstractEventParser$3.run(AbstractEventParser.java:279) で
 java.lang.Thread.run(Thread.java:748) で
2020-07-02 14:51:16,769 エラー [宛先 = 1-236、アドレス = /192.168.3.100:3306、EventParser] LogAlarmHandler:19 | 宛先:1-236[java.io.IOException: エラー パケットを受信しました: errno = 1236、sqlstate = HY000 errmsg = クライアントがマスターに、位置 > ファイル サイズからレプリケーションを開始するように要求しました
 com.alibaba.otter.canal.parse.inbound.mysql.dbsync.DirectLogFetcher.fetch(DirectLogFetcher.java:102) で
 com.alibaba.otter.canal.parse.inbound.mysql.MysqlConnection.dump(MysqlConnection.java:169) で
 com.alibaba.otter.canal.parse.inbound.AbstractEventParser$3.run(AbstractEventParser.java:279) で
 java.lang.Thread.run(Thread.java:748) で
]

エラー メッセージから、コピー中の位置が実際の現在の binlog ファイルのサイズよりも大きいことがわかります。

3. MySQL がマスターとスレーブ間で切り替えられるときに、元のマスター データベースの binlog 名のシリアル番号が切り替え後のマスター データベースの binlog 名のシリアル番号より大きい場合、次のエラーが報告されます。

2020-07-06 11:35:07,977 INFO [destination = 1-236 、address = /192.168.3.100:3306 、EventParser] MysqlConnection:293 | スレーブを登録 RegisterSlaveCommandPacket[reportHost=192.168.3.1、reportPort=59469、reportUser=canal_repl_user、reportPasswd=111111、serverId=10236、command=21]
2020-07-06 11:35:07,978 INFO [宛先 = 1-236、アドレス = /192.168.3.100:3306、EventParser] MysqlConnection:321 | COM_BINLOG_DUMP、位置:BinlogDumpCommandPacket[binlogPosition=1411、slaveServerId=10236、binlogFileName=mysql-bin.000003、command=18]
2020-07-06 11:35:07,979 エラー [宛先 = 1-236、アドレス = /192.168.3.100:3306、EventParser] DirectLogFetcher:163 | クライアント ソケットからの読み取り中に I/O エラーが発生しました
java.io.IOException: エラー パケットを受信しました: errno = 1236、sqlstate = HY000 errmsg = バイナリ ログ インデックス ファイルの最初のログ ファイル名が見つかりませんでした
 com.alibaba.otter.canal.parse.inbound.mysql.dbsync.DirectLogFetcher.fetch(DirectLogFetcher.java:102) で
 com.alibaba.otter.canal.parse.inbound.mysql.MysqlConnection.dump(MysqlConnection.java:169) で
 com.alibaba.otter.canal.parse.inbound.AbstractEventParser$3.run(AbstractEventParser.java:279) で
 java.lang.Thread.run(Thread.java:748) で
2020-07-06 11:35:07,980 エラー [宛先 = 1-236、アドレス = /192.168.3.100:3306、EventParser] MysqlEventParser:301 | ダンプアドレス 192.168.3.100/192.168.3.100:3306 にエラーがあります。再試行しています。原因 
java.io.IOException: エラー パケットを受信しました: errno = 1236、sqlstate = HY000 errmsg = バイナリ ログ インデックス ファイルの最初のログ ファイル名が見つかりませんでした
 com.alibaba.otter.canal.parse.inbound.mysql.dbsync.DirectLogFetcher.fetch(DirectLogFetcher.java:102) で
 com.alibaba.otter.canal.parse.inbound.mysql.MysqlConnection.dump(MysqlConnection.java:169) で
 com.alibaba.otter.canal.parse.inbound.AbstractEventParser$3.run(AbstractEventParser.java:279) で
 java.lang.Thread.run(Thread.java:748) で
2020-07-06 11:35:07,987 エラー [宛先 = 1-236、アドレス = /192.168.3.100:3306、EventParser] LogAlarmHandler:19 | 宛先:1-236[java.io.IOException: エラー パケットを受信しました: errno = 1236、sqlstate = HY000 errmsg = バイナリ ログ インデックス ファイルの最初のログ ファイル名が見つかりませんでした
 com.alibaba.otter.canal.parse.inbound.mysql.dbsync.DirectLogFetcher.fetch(DirectLogFetcher.java:102) で
 com.alibaba.otter.canal.parse.inbound.mysql.MysqlConnection.dump(MysqlConnection.java:169) で
 com.alibaba.otter.canal.parse.inbound.AbstractEventParser$3.run(AbstractEventParser.java:279) で
 java.lang.Thread.run(Thread.java:748) で
]

つまり、新しいマスターでのバイナリログ名のロールオーバー数が少ないため、バイナリログ名は元のマスターの名前よりも小さくする必要があり、対応する名前のバイナリログは新しいマスター上で見つかりません。

3. 削除された binlog ファイル名を使用して、次のエラーを報告します。

2020-07-03 18:07:53,443 警告 [宛先 = 1-236、アドレス = /192.168.3.100:3306、EventParser] MysqlEventParser:456 | 開始位置 mysql-bin.000001:4:1593507861000 を見つける準備をしてください
2020-07-03 18:07:53,443 警告 [宛先 = 1-236、アドレス = /192.168.3.100:3306、EventParser] MysqlEventParser:205 | ---> 開始位置が正常に見つかりました。EntryPosition[included=false、journalName=mysql-bin.000001、position=4、serverId=<null>、gtid=<null>、timestamp=1593507861000] コスト: 40 ミリ秒、次のステップは binlog ダンプです
2020-07-03 18:07:53,444 INFO [宛先 = 1-236、アドレス = /192.168.3.100:3306、EventParser] MysqlConnector:101 | /192.168.3.100:3306 への MysqlConnection の接続を解除...
2020-07-03 18:07:53,446 INFO [宛先 = 1-236、アドレス = /192.168.3.100:3306、EventParser] MysqlConnector:79 | MysqlConnection を /192.168.3.100:3306 に接続します...
2020-07-03 18:07:53,447 INFO [宛先 = 1-236、アドレス = /192.168.3.100:3306、EventParser] MysqlConnector:182 | ハンドシェイク初期化パケットを受信しました。送信するクライアント認証パケットを準備します
2020-07-03 18:07:53,447 INFO [destination = 1-236 、address = /192.168.3.100:3306 、EventParser] MysqlConnector:199 | クライアント認証パケットが送信されました。
2020-07-03 18:07:53,458 INFO [destination = 1-236 、address = /192.168.3.100:3306 、EventParser] MysqlConnection:293 | スレーブを登録 RegisterSlaveCommandPacket[reportHost=192.168.3.1、reportPort=49875、reportUser=canal_repl_user、reportPasswd=111111、serverId=10236、command=21]
2020-07-03 18:07:53,459 INFO [宛先 = 1-236、アドレス = /192.168.3.100:3306、EventParser] MysqlConnection:321 | COM_BINLOG_DUMP、位置:BinlogDumpCommandPacket[binlogPosition=4、slaveServerId=10236、binlogFileName=mysql-bin.000001、command=18]
2020-07-03 18:07:53,460 エラー [宛先 = 1-236、アドレス = /192.168.3.100:3306、EventParser] DirectLogFetcher:163 | クライアントソケットからの読み取り中に I/O エラーが発生しました
java.io.IOException: エラー パケットを受信しました: errno = 1236、sqlstate = HY000 errmsg = バイナリ ログ インデックス ファイルの最初のログ ファイル名が見つかりませんでした
 com.alibaba.otter.canal.parse.inbound.mysql.dbsync.DirectLogFetcher.fetch(DirectLogFetcher.java:102) で
 com.alibaba.otter.canal.parse.inbound.mysql.MysqlConnection.dump(MysqlConnection.java:169) で
 com.alibaba.otter.canal.parse.inbound.AbstractEventParser$3.run(AbstractEventParser.java:279) で
 java.lang.Thread.run(Thread.java:748) で
2020-07-03 18:07:53,462 エラー [宛先 = 1-236、アドレス = /192.168.3.100:3306、EventParser] MysqlEventParser:301 | ダンプアドレス /192.168.3.100:3306 にエラーがあります。再試行しています。原因 
java.io.IOException: エラー パケットを受信しました: errno = 1236、sqlstate = HY000 errmsg = バイナリ ログ インデックス ファイルの最初のログ ファイル名が見つかりませんでした
 com.alibaba.otter.canal.parse.inbound.mysql.dbsync.DirectLogFetcher.fetch(DirectLogFetcher.java:102) で
 com.alibaba.otter.canal.parse.inbound.mysql.MysqlConnection.dump(MysqlConnection.java:169) で
 com.alibaba.otter.canal.parse.inbound.AbstractEventParser$3.run(AbstractEventParser.java:279) で
 java.lang.Thread.run(Thread.java:748) で
2020-07-03 18:07:53,463 エラー [宛先 = 1-236、アドレス = /192.168.3.100:3306、EventParser] LogAlarmHandler:19 | 宛先:1-236[java.io.IOException: エラー パケットを受信しました: errno = 1236、sqlstate = HY000 errmsg = バイナリ ログ インデックス ファイルの最初のログ ファイル名が見つかりませんでした
 com.alibaba.otter.canal.parse.inbound.mysql.dbsync.DirectLogFetcher.fetch(DirectLogFetcher.java:102) で
 com.alibaba.otter.canal.parse.inbound.mysql.MysqlConnection.dump(MysqlConnection.java:169) で
 com.alibaba.otter.canal.parse.inbound.AbstractEventParser$3.run(AbstractEventParser.java:279) で
 java.lang.Thread.run(Thread.java:748) で
]

マスター データベースで「flush logs」コマンドを使用して情報 binlog を再生成し、「show master status」コマンドを使用して情報の位置を照会し、「CHANGE MASTER TO MASTER_LOG_FILE='log-bin.00000xx',MASTER_LOG_POS=xxx;」を再利用して binlog を再同期できます。

要約する

これで、MySQL マスター スレーブ スイッチ キャナルのいくつかの問題を解決するこの記事は終わりです。MySQL マスター スレーブ スイッチ キャナルの問題の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • mysql-canal-rabbitmq のインストールと展開の非常に詳細なチュートリアル
  • MySQLを監視するためのbinlogログ解析ツールの詳しい説明:Canal
  • SpringBootはElasticsearchを統合してインデックス作成とドキュメント操作を実装します
  • elasticsearchを使用してインデックスデータを定期的に削除する
  • Canalを使用してMySQLデータベースを監視し、elasticsearchインデックスのリアルタイム更新を実装する

<<:  JSが絵柄デジタル時計を実現

>>:  テーブルの4辺を上下左右にスクロールするように固定する方法

推薦する

nginxとIISで使用できるSSL証明書を作成する

目次SSL証明書の作成1. 秘密鍵を生成する2. 証明書要求ファイルを生成する3. CRT証明書ファ...

Ubuntu 18.04 で apt ソースを Alibaba Cloud ソースに変更する詳細なプロセス

目次序文: Ubuntu 18.04 は apt ソースを Alibaba Cloud ソースに変更...

Win10 への MySQL 5.7 のインストール MSI 版のチュートリアル(画像とテキスト付き)

主にインストール後に my.ini ファイルを確認するために、msi 形式でインストールしました。フ...

JSホモロジー戦略とCSRFの詳細な説明

目次概要同一生成元ポリシー (SOP)相同制限クロスドメインをバイパスクロスサイトリクエストフォージ...

Vueはechartsに基づいて3次元の縦棒グラフを実装します

3次元縦棒グラフは、正面、右側、上部の3つの部分で構成されています。描画するときは、正面をグラフィッ...

JavaScript におけるイベント バブリング メカニズムの詳細な分析

バブリングとは何ですか? DOM イベント フローには、イベント キャプチャ ステージ、ターゲット ...

Firefox ブラウザでバックグラウンド ミュージックを再生するための究極のソリューション (Chrome マルチブラウザ対応)

FirefoxでBGMを再生するための推奨コードがテストに合格しました空のコントロールパネルを開いて...

Windows 2008 Server サブドメインを親ドメインに追加すると、ドメインが既に存在するというエラー メッセージが表示されます。

Windows 2008 Serverのサブドメインを親ドメインに参加させると、「ドメインは既に存...

HTMLページ間で値を渡す問題の解決策

初めてこのエッセイを使ったとき、私はかなりぎこちなく感じましたhtmlファイルコードをコピーコードは...

Zen Coding 簡単で素早いHTMLの書き方

禅コーディングテキストエディタプラグインです。 Zen Coding を使用するテキスト エディター...

Docker ログが多すぎてディスクがいっぱいになる場合の対処方法

複数の Docker コンテナがデプロイされたサーバーがあり、各 Docker コンテナが stde...

Docker を使用した Hadoop クラスターのデプロイに関する詳細なチュートリアル

最近、社内に Hadoop テスト クラスターを構築したいので、docker を使用して Hadoo...

antd pro に基づく SMS 認証コード ログイン機能 (プロセス分析)

目次まとめ全体的なプロセスフロントエンドページコード検証コードとログイン サービスをリクエストする ...

VMware 仮想マシン ブリッジ モードでインターネットにアクセスできない問題を解決する方法

ステップ1: ローカルイーサネットプロパティをチェックして、VMwareブリッジプロトコルがインスト...

MySQLサーバのスレッド数を表示する方法の詳細な説明

この記事では、例を使用して、MySQL サーバーのスレッド数を表示する方法について説明します。ご参考...