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辺を上下左右にスクロールするように固定する方法

推薦する

ECMAScript のイテレータの詳細な説明

目次序文以前のバージョンイテレータパターンイテレータファクトリ関数イテレータプロトコル最後に序文多く...

ウェブサイトのコンテンツの100~1%はナビゲーションである

ウェブサイトでは、コンテンツの(100-1)%がナビゲーションです1. ジェシー・ジェームズ・ギャレ...

Linux の運用と保守で netstat の代わりに ss コマンドを使用する方法

序文Linux サーバーを操作および管理するときに、最もよく使用されるコマンドの 1 つが nets...

HTMLとリソースがどのように読み込まれるかを理解します

このブログのすべてのコンテンツは、クリエイティブ コモンズ ライセンスの下でライセンスされています。...

JavaScript で配列遅延評価ライブラリを実装する方法

目次概要達成方法具体的な実装評価関数の終了を決定する生成関数の範囲変換関数マップフィルター割り込み機...

MySQL の文字セット utf8 を utf8mb4 に変更する方法

MySQL 5.5 の場合、文字セットが設定されていない場合、MySQL のデフォルトの文字セットは...

Zabbix カスタム監視 nginx ステータス実装プロセス

目次Zabbix カスタム監視 nginx ステータス1. ステータスインターフェースを開く2. 監...

MySQLの挿入文字化け問題を解決する方法

問題の説明: MySQL に中国語の文字を挿入する場合、または MySQL では中国語の文字が正常に...

プロジェクトにおける CSS グリッドシステムの柔軟な使用方法の詳細な説明

序文CSS グリッドは通常、さまざまなフレームワークにバンドルされていますが、実際のビジネス ニーズ...

nginxでイメージサーバーを構築する手順の詳しい説明(ルートとエイリアスの違い)

インストール手順は省略します( yum -y install nginx;を使用して直接インストール...

Nginx 7層負荷分散のいくつかのスケジューリングアルゴリズムの簡単な理解

この記事は主に、Nginx 7 層負荷分散のいくつかのスケジューリング アルゴリズムを紹介します。こ...

HTML 基本要約推奨事項 (テキスト形式)

HTMLテキスト書式タグ 標簽 描述 <b> 定義粗體文本 <em> 呈現...

Vue の新しいパートナー TypeScript クイックスタート実践記録

目次1. 公式の足場を使って構築する2. プロジェクトディレクトリ分析3. TypeScript の...

MySQL が外部キーを作成できない理由と解決策

2 つのテーブルを関連付けるときに、外部キーを作成できませんでした。このブログから、問題は、ポイント...

Docker イメージ管理の一般的な操作コード例

ミラーリングも Docker のコアコンポーネントの 1 つです。ミラーリングはコンテナ操作の基盤で...