以下の側面から、一貫性のない MySQL マスター/スレーブ レプリケーションの問題に対処します。
Mysql マスター/スレーブ構成をセットアップするとき、マスターがスレーブと同期しているか、エラーや遅延が発生することがよくあります。以下では、これらの側面に基づいてエラーをトラブルシューティングできます。
やや大規模な Web サイトでは、基本的に mysql マスターとスレーブのレプリケーションが構成されますが、一方では mysql マスターとスレーブはデータベースの読み取りと書き込みを分離するために使用されます。 mysql 自体はそれほど強力ではありません。通常は、マスター/スレーブ レプリケーションが使用され、スレーブでデータのバックアップが実行されます。
MySQL のマスターとスレーブのレプリケーション プロセスでは、多かれ少なかれマスターとスレーブの同期状況が発生します。この記事では、主にマスターとスレーブの同期状況について説明します。データベースレベルの不整合。
1. ネットワーク遅延
mysql のマスター/スレーブ レプリケーションは binlog に基づく非同期レプリケーションであるため、当然ながら、特にマスターとスレーブ間の同期の原因のほとんどはネットワーク遅延です。コンピュータ室ではデータが同期される可能性が非常に高いため、読み取りと書き込みを分離し、ビジネス層からの初期の設計に注意してください。
2. マスターマシンとスレーブマシンの負荷は一貫していません
mysql マスター/スレーブレプリケーションはマスターデータベース上で 1 つの IO スレッドを開始し、上から 1 つの SQL スレッドと 1 つの IO スレッドを開始するため、どちらかのマシンで負荷が非常に高く、ビジー状態になるため、いずれかのスレッドのリソースが不足し、マスター/スレーブの不整合が発生します。
3. Max_allowed_packet の設定が矛盾しています
マスター データベースで設定された max_allowed_packet が、マスター データベースで実行できる場合、スレーブ データベースでの設定が小さすぎます。実行できず、マスター Never の不整合が発生します。
4. キー自動インクリメントキーから始まるキー値と自動インクリメントステップ設定の不一致によるマスタースレーブの不一致。
5. mysql が異常ダウンしたときに、sync_binlog=1 または innodb_flush_log_at_trx_commit=1 が設定されていない場合、binlog またはリレーログ ファイルが破損し、マスターとスレーブの不整合が発生する可能性が非常に高くなります。
6. マスターとスレーブの同期は、mysql 自体のバグによって引き起こされます。
7. バージョンが不一致です。特に上位バージョンがマスターで下位バージョンがスレーブの場合、マスター データベースでサポートされている機能がスレーブ データベースではサポートされません。
上記は、一般的なマスターとスレーブの同期状況の一部です。他にも同期が失われる状況が発生する可能性があります。発生したマスターとスレーブの不一致の状況について教えてください。
上記の状況に基づいて、まず max_allowed_packet、自動インクリメント キーの開始点、および成長点の設定が一貫していることを確認してから、パフォーマンスの一部を犠牲にしてメイン サーバーで sync_binlog を有効にすることをお勧めします。次の内容を設定します
1. innodb_flush_logs_at_trx_commit = 1
2. innodb-support_xa = 1 # Mysql 5.0 以降
3. innodb_safe_binlog に基づいて、皆様のお役に立てれば幸いです。環境から生じる問題の解決策。
MySQLマスタースレーブレプリケーションに基づくMycatの読み書き分離の例
Dockerを使用してMySQLマスタースレーブレプリケーション環境を迅速に構築する方法の詳細
以上が以下の側面から、一貫性のない MySQL マスター/スレーブ レプリケーションの問題に対処します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









MySQLは、インストールが簡単で、強力で管理しやすいため、初心者に適しています。 1.さまざまなオペレーティングシステムに適した、単純なインストールと構成。 2。データベースとテーブルの作成、挿入、クエリ、更新、削除などの基本操作をサポートします。 3.参加オペレーションやサブクエリなどの高度な機能を提供します。 4.インデックス、クエリの最適化、テーブルパーティション化により、パフォーマンスを改善できます。 5。データのセキュリティと一貫性を確保するために、バックアップ、リカバリ、セキュリティ対策をサポートします。

NAVICAT自体はデータベースパスワードを保存せず、暗号化されたパスワードのみを取得できます。解決策:1。パスワードマネージャーを確認します。 2。NAVICATの「パスワードを記憶する」機能を確認します。 3.データベースパスワードをリセットします。 4.データベース管理者に連絡してください。

NAVICATプレミアムを使用してデータベースを作成します。データベースサーバーに接続し、接続パラメーターを入力します。サーバーを右クリックして、[データベースの作成]を選択します。新しいデータベースの名前と指定された文字セットと照合を入力します。新しいデータベースに接続し、オブジェクトブラウザにテーブルを作成します。テーブルを右クリックして、データを挿入してデータを挿入します。

MySQLでテーブルをコピーするには、新しいテーブルの作成、データの挿入、外部キーの設定、インデックスのコピー、トリガー、ストアドプロシージャ、および機能が必要です。特定の手順には、同じ構造を持つ新しいテーブルの作成が含まれます。元のテーブルからデータを新しいテーブルに挿入します。同じ外部キーの制約を設定します(元のテーブルに1つがある場合)。同じインデックスを作成します。同じトリガーを作成します(元のテーブルに1つがある場合)。同じストアドプロシージャまたは関数を作成します(元のテーブルが使用されている場合)。

Passwordが暗号化された形式で保存されているため、MariadbのNavicatはデータベースパスワードを直接表示できません。データベースのセキュリティを確保するには、パスワードをリセットするには3つの方法があります。NAVICATを介してパスワードをリセットし、複雑なパスワードを設定します。構成ファイルを表示します(推奨されていない、高リスク)。システムコマンドラインツールを使用します(推奨されません。コマンドラインツールに習熟する必要があります)。

MySQLは、オープンソースのリレーショナルデータベース管理システムです。 1)データベースとテーブルの作成:createdatabaseおよびcreateTableコマンドを使用します。 2)基本操作:挿入、更新、削除、選択。 3)高度な操作:参加、サブクエリ、トランザクション処理。 4)デバッグスキル:構文、データ型、およびアクセス許可を確認します。 5)最適化の提案:インデックスを使用し、選択*を避け、トランザクションを使用します。

NAVICATがデータベースとそのソリューションに接続できない一般的な理由:1。サーバーの実行ステータスを確認します。 2。接続情報を確認します。 3.ファイアウォール設定を調整します。 4.リモートアクセスを構成します。 5.ネットワークの問題のトラブルシューティング。 6.許可を確認します。 7.バージョンの互換性を確保します。 8。他の可能性のトラブルシューティング。

NAVICATでSQLを実行する手順:データベースに接続します。 SQLエディターウィンドウを作成します。 SQLクエリまたはスクリプトを書きます。 [実行]ボタンをクリックして、クエリまたはスクリプトを実行します。結果を表示します(クエリが実行された場合)。
