Mysql マスタースレーブ同期 Last_IO_Errno:1236 エラー解決

Mysql マスタースレーブ同期 Last_IO_Errno:1236 エラー解決

Mysql マスタースレーブ同期の Last_IO_Errno:1236 エラーの原因は何ですか? この問題を解決するにはどうすればよいでしょうか? エディターを使用してこの問題の記録と解決策を見てみましょう。

<script>ec(2);</script>

サーバーからのエラーコード:

最終IOエラー番号: 1236
Last_IO_Error: バイナリ ログからデータを読み取るときに、マスターから致命的なエラー 1236 が発生しました: 「スレーブは、マスターがログに記録するように設定されているチェックサムでレプリケーション イベントを処理できません。最初のイベントは 'mysql-bin.000005' で 16750821、最後のイベントは '/usr/local/mysql/Binlog/mysql-bin.000005' から 16750821 に読み取られ、最後のバイトは '/usr/local/mysql/Binlog/mysql-bin.000005' から 120 に読み取られました。」

理由を大まかに分析した結果、個人的には、最も可能性が高い要因は、① MySQL のバージョンが異なること、② バックアップが不完全であることであると考えます。この問題は、同じバージョンの以前の MySQL 構成では発生しませんでした。 (時間の問題、特定のテスト理由なし)

メイン サーバーは、前回の PHP によるダウンタイムのため、MySQL の最新バージョン (5.6.29) にアップグレードされましたが、スレーブ サーバーはコンパイル時に 5.5.49 バージョンの DB を使用していました。したがって、この問題が原因である可能性があると推測します。公式ドキュメントを読んでおらず、これは単なる個人的な推測です。

バージョンの違いによって発生するもう 1 つの問題は次のとおりです。

[root@バックアップ tmp]# /usr/local/mysql/bin/mysql -uroot -p <./all.sql 
パスワードを入力してください: 
279 行目のエラー 1064 (42000): SQL 構文にエラーがあります。11 行目の 'STATS_PERSISTENT=0' 付近で使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。

私は怠け者だったので、同じバージョンの MySQL を再コンパイルしました。バージョンが異なっていたため、具体的な理由を注意深く調べませんでした。

スレーブはエラーメソッドを一時的にスキップします:

マイグレーション

mysql>スレーブ停止; #スレーブを停止する
mysql> グローバル SQL_SLAVE_SKIP_COUNTER を 1 に設定します。
mysql>スレーブ開始; #スレーブを開始

スレーブでエラーを永続的にスキップする方法:

vi /etc/my.cnf
[mysqld]
slave-skip-errors=1062,1053,1146 #指定されたエラー番号タイプのエラーをスキップします #slave-skip-errors=all #すべてのエラーをスキップします

要約する

以上が、Mysql マスター スレーブ同期におけるエラー Last_IO_Errno:1236 の解決方法に関するこの記事の内容のすべてです。皆様のお役に立てれば幸いです。もっと良い解決策がありましたら、メッセージを残して一緒に話し合いましょう。

興味のある方は、「MySQL テーブルのソート規則におけるさまざまなエラー問題の分析」、「エンタープライズ プロダクション MySQL 最適化の概要」、「MYSQL サブクエリとネストされたクエリの最適化例の分析」などを参照してください。ご質問がある場合は、メッセージを残してください。編集者がすぐに返信します。このサイトをサポートしてくれた友人たちに感謝します!

以下もご興味があるかもしれません:
  • MySQL マスタースレーブ同期、トランザクションロールバックの実装原理
  • MySQLデータベースのマスタースレーブ同期の実際のプロセスの詳細な説明
  • MySQL マスタースレーブ同期における server-id の例の詳細な説明
  • Centos7 システムでの MySQL マスター スレーブ同期構成スキーム
  • MySQL マスタースレーブ同期遅延の原因と解決策
  • MySQL マスタースレーブ同期メカニズムと同期遅延問題追跡プロセス
  • MySQLデータベースのマスタースレーブ同期構成と読み取り書き込み分離
  • Mysqlマスタースレーブ同期の実装原理
  • Mysql マスタースレーブ同期構成の実践の詳細な説明
  • Windows での MySQL マスター スレーブ同期の詳細な説明
  • MySQLデータベースでマスタースレーブ同期を設定する方法の詳細な説明
  • Mysql データベースのマスタースレーブ同期構成

<<:  js キャンバスはランダムなパーティクル効果を実現します

>>:  Linux および Unix サーバーのセキュリティを強化する方法

推薦する

div の水平レイアウトを両側に揃える 3 つの方法

この記事では、主に、div の水平レイアウトの両側の配置を実装する 3 つの方法を紹介し、それらを共...

Jsモジュールパッケージのエクスポートの使用法と違いにはインポートが必要

目次1. Commonjsのエクスポートとrequireの使用1.1 CommonJS エクスポート...

Vueはシンプルなショッピングカートの例を実装します

この記事では、参考までに、シンプルなショッピングカートケースを実装するためのVueの具体的なコードを...

HTML スクロールバーのテキストエリア属性の設定

1.オーバーフローコンテンツのオーバーフロー設定(設定されたオブジェクトにスクロールバーを表示するか...

LambdaProbe を使用して Tomcat を監視する方法

導入: Lambda Probe (旧称 Tomcat Probe) は、Apache Tomcat...

setup+ref+reactive は vue3 の応答性を実装します

セットアップは、結合された API を記述するために使用されます。テンプレートが使用できるようにする...

JavaScript を学ぶときに知っておくべき 3 つのヒント

目次1. 魔法の拡張演算子1. 配列をコピーする2. 配列を結合する3. オブジェクトを展開する2....

DockerでRedisをデプロイして起動する方法

DockerでRedisをデプロイするまずLinuxにDockerをインストールし、次にDocker...

Nginxの仕組みの詳細な説明

Nginxの仕組みNginx はコアとモジュールで構成されています。 Nginx 自体は実際にはほと...

MySQLデータベース監視binlogを有効にする手順

序文多くの場合、ユーザーが自分のデータに対して実行する操作に基づいて何かを行う必要があります。たとえ...

複数の Tomcat を展開して起動し、プロジェクトを移行する方法を 1 つの記事で学習します。

目次tomcatをデプロイする1.ダウンロードして解凍する2. 設定ファイルを変更する移植プロジェク...

nginx で HSTS を有効にしてブラウザを HTTPS アクセスにリダイレクトする方法の詳細な説明

前回の記事では、https を使用したローカルノードサービスアクセスを実装しました。前回の記事の効果...

MySQL 8.0 WITH クエリの詳細

目次MySQL 8 の WITH クエリについて学ぶ1. 例3. 練習するMySQL 8 の WIT...

background-positionプロパティでのパーセンテージ値の使用法の検討

背景位置が背景画像の表示に与える影響この2日間のプロジェクトでホームページの写真を入れ替えていたとこ...