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 サーバーのセキュリティを強化する方法

推薦する

JavaScript のコールバック関数の理解と使用

目次概要コールバックまたは高階関数とは何ですか?コールバック関数はどのように機能しますか?コールバッ...

Linux で複数のファイルの名前を一括で変更する方法

Linux では、通常、ファイルの名前を変更するために mv コマンドを使用します。これは、単一のフ...

Linux の traceroute コマンドの使用方法の詳細な説明

Traceroute を使用すると、情報がコンピュータからインターネットの反対側のホストまでたどるパ...

Node.jsはSTMPプロトコルとEWSプロトコルに基づいてメールを送信します

目次1 STMP プロトコルに基づいてメールを送信する Node.js メソッド2 MS Excha...

CSS3を使用してヘッダーアニメーション効果を作成する

Netease Kanyouxi公式サイト(http://kanyouxi.163.com/)(棚...

Vue+echarts で積み上げ棒グラフを実現

この記事では、積み上げ棒グラフを実装するためのVue+echartsの具体的なコードを参考までに紹介...

Docker に Kong ゲートウェイをインストールする方法の例

1. Dockerネットワークを作成する docker ネットワーク作成 kong-net 2. デ...

Linux で JDK 環境を構成する方法

1. 公式ウェブサイトにアクセスして、jdk-8u162-linux-x64.tar.gzなどのLi...

Dockerfileを使用してDockerイメージを構築する手順

Dockerfile は、命令を含むテキスト ファイルです。各命令はレイヤーを構築するため、各命令の...

insert と select を組み合わせて、「データベース内のフィールドの最大値 + 1 を挿入する」メソッドを実装する

この記事はmysqlデータベースです質問 1 表 1 のデータを表 2 にインポートします。表 1 ...

テキストエリア テキストエリアの幅と高さ 幅と高さの自動適応実装コード

コードをコピーコードは次のとおりです。 <HTML> <ヘッド> <T...

Vueはスライダードラッグ検証機能の全プロセスを実現します

レンダリング 骨組みを定義し、HTMLとCSSを記述するHTML部分 <テンプレート> ...

Nginx フォワード プロキシとリバース プロキシ、および負荷分散機能の構成コード例

この記事は主に、Nginx のフォワード プロキシとリバース プロキシ、および負荷分散機能の設定コー...

docker runコンテナの自動終了の解決策

今日、Dockerfile を使用してイメージを作成したときに問題が発生し、イメージの実行後にコンテ...

フロントエンドでよく使われるjs関数メソッド

目次1. メール2. 携帯電話番号3. 電話番号4. URLアドレスですか? 5. 文字列ですか? ...