MySQLデュアルマシンホットスタンバイと負荷分散の実装手順の詳細説明

MySQLデュアルマシンホットスタンバイと負荷分散の実装手順の詳細説明

MySQL データベースには増分バックアップ メカニズムはありませんが、マスター データベース内のすべてのデータをバックアップ データベースに同時に書き込むマスター スレーブ バックアップ メカニズムが提供されています。 MySQL データベースのホット バックアップを実装します。

マスタースレーブホットバックアップの具体的な手順は次のとおりです。

マスターサーバーをA(マスター)、スレーブサーバーをB(スレーブ)と仮定します。

答え: 192.168.0.104

B: 192.168.0.169

1. マスターサーバーの認証

承認されたセカンダリ サーバーはプライマリ サーバーに接続して更新を実行できます。これはプライマリ サーバーで実行され、セカンダリ サーバーにアクセスするときに使用するユーザー名とパスワードが作成されます。プライマリ サーバーのデフォルトのアカウントとパスワードを使用することもできます。

2. データの複製

マスター/スレーブ データベースが確立されたときに 2 つのデータベースのデータの一貫性が維持されるように、マスター上の既存のデータをスレーブにコピーします。データベースのエクスポートとインポートについては詳しく説明しません。

3. マスターサーバーを構成する

マスターのmysqlのルートディレクトリにあるmy.ini設定ファイルを変更します。

オプション設定ファイルでマスター サーバーにサーバー ID を割り当てます。ID は 1 から 2^23-1 の範囲の一意の値である必要があります。プライマリ サーバーとセカンダリ サーバーのサーバー ID は同じにすることはできません。さらに、バイナリ ログを有効にするようにマスター サーバーを構成する必要があります。つまり、オプション構成ファイルに log-bin 起動オプションを追加します。

注意: マスター サーバーのバイナリ ログが有効になっている場合は、シャットダウンして再起動する前に、以前のバイナリ ログをバックアップする必要があります。再起動後、RESET MASTER ステートメントを使用して以前のログをクリアする必要があります。

理由: マスター上の cartrader データベースに対するすべての操作はログ ファイルに記録され、その後、ログがスレーブに送信されます。マスターからログ ファイルを受け取った後、スレーブは対応する操作を実行し、スレーブ内のデータベースはマスター データベースと同じ操作を実行します。したがって、データの一貫性を維持するために、ログ ファイルにダーティ データが含まれていないことを確認する必要があります。

4. マスターを再起動する

上記のオプションを設定した後、MySQL サービスを再起動すると、新しいオプションが有効になります。これで、データベース内の情報に対するすべての更新がログに書き込まれるようになります。

5.スレーブの設定

スレーブ サーバーの MySQL オプション構成ファイルに次のパラメータを追加します。

[mysqld]
#プライマリ サーバーの server-id とは異なる一意の ID です。
サーバーID=2
#プライマリサーバーのホスト名またはIPアドレス
マスターホスト = 192.168.0.104
#マスターサーバーがデフォルトポートでリッスンしていない場合は、マスターポートオプションを決定する必要があります
マスターポート=3306
#ステップ2.1で作成したユーザー名とパスワード
マスターユーザー=root
マスターパスワード=123456
#コピー操作を適用するデータベース(オプション、デフォルトはすべて)
複製するDB = cartrader
#プライマリサーバーとセカンダリサーバー間の接続が頻繁に失敗する場合は、master-retry-countとmaster-connect-retryを増やす必要があります。
#master-retry-count 接続が再試行される回数
#master-connect-retry 接続失敗後に待機する秒数
マスター再試行回数 = 999
マスター接続再試行 = 60

5.スレーブを再起動する

セカンダリサーバーでMySQLサービスが再起動されると、データディレクトリにmaster.infoファイルが作成され、その中に次の内容が含まれます。

レプリケーション プロセスに関するすべての情報 (マスター サーバーへの接続およびマスター サーバーとのデータ交換に関する情報)。最初の起動後、スレーブ サーバーは master.info ファイルをチェックして関連情報を取得します。

レプリケーション オプションを変更する場合は、master.info を削除して MySQL サービスを再起動します。master.info ファイルは、オプション構成ファイルの新しいオプションを使用して、起動プロセス中に再作成されます。

プライマリサーバーにバックアップされたデータベーススクリプトファイル(cartrader.sql)をセカンダリサーバーのデータベースにインポートして保存します。

プライマリ サーバーとセカンダリ サーバーのレプリケーション操作の開始点が同じであることを確認します。

6. マスターのステータスが設定と一致しているかどうかを確認します

7.スレーブを表示

通常、スレーブを再起動すると、レプリケーション機能が自動的に有効になり、次のステートメントで確認できます。

奴隷について

mysql>show slave status

「マスターがイベントを送信するのを待機中」と表示されている場合、開始されていることを意味します。それ以外の場合は、実行中です。

mysql>start slave

スレーブを起動するには

SHOW SLAVE STATUS コマンドの出力後、Slave_IO_Running に対応する値は YES になるはずです。

Slave_SQL_Running の対応する値は YES です。この方法でのみ、マスター機能とスレーブ機能を正常にバックアップできます。

マスタースレーブホットバックアップを一時的に停止するコマンドは次のとおりです。

mysql>stop slave

要約する

上記は、編集者が紹介したMySQLデュアルマシンホットスタンバイと負荷分散の実装手順です。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。編集者がすぐに返信します。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。
この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

以下もご興味があるかもしれません:
  • パフォーマンス負荷診断にMySQLシステムデータベースを使用する方法
  • MySQLで負荷分散を実装する方法
  • MySQL のロードバランサーとして nginx を使用する方法
  • OneProxy に基づいて MySQL の読み取り/書き込み分離と負荷分散を実装する
  • mysql+mycat、負荷分散、マスタースレーブレプリケーション、読み取り/書き込み分離操作に基づく安定した高可用性クラスタを構築します。
  • PythonはMySQLの読み書き分離と負荷分散を実装します
  • MySQLの高可用性負荷分散構成を実装するためのKeepalived+HAProxy
  • MySQLのインデックスによって引き起こされるCPU負荷の急増を分析する
  • MYSQLデータベース接続の負荷容量を迅速に増やす方法
  • 負荷分散機能を備えたMySQLサーバクラスタの導入と実装
  • MySQL の CPU 負荷が高い問題のトラブルシューティング

<<:  Linux運用保守ツールSupervisor(プロセス管理ツール)のインストールと使用

>>:  Vue 計算プロパティ実装トランスクリプト

推薦する

ミニプログラムは左スライドのドロワーメニューをネイティブに実装します

目次WXS レスポンス イベントプランAページ構造とスタイルWXS イベントコールバック関数WXS ...

JS ES6 スプレッド演算子の魔法のような使い方

目次1. 属性を追加する2. 複数のオブジェクトを結合する3. オブジェクトのプロパティを削除する4...

HTML で div を非表示にする テーブルを非表示にする TABLE または DIV コンテンツの CSS スタイル

今夜、数日間悩まされていた問題を解決しました。本当に解決したかどうかはわかりませんが、解決されている...

JavaScript で DOM 要素を監視する MutationObServer の詳細

1. 基本的な使い方これは MutationObserver コンストラクターを通じてインスタンス化...

uniapp は日付と時刻の選択機能を実装します

この記事の例では、日付と時刻の選択を実装するための uniapp の具体的なコードを参考までに共有し...

モバイルウェブサイトの開発に関するいくつかの結論

ウェブサイトのモバイル版には、少なくともいくつかの基本機能が必要です。 1. ページの適用性の問題:...

MySQL 5.6.22 のインストールと設定方法のグラフィックチュートリアル

このチュートリアルでは、MySQL5.6.22のインストールと設定方法の具体的なコードを参考までに共...

自動同期テーブル構造のMySql開発

開発の問題点開発プロセスでは、データベース フィールドが頻繁に変更されるため、RD 環境と QA 環...

Tencent Cloudでhive3.1.2を構築する方法を教えます

環境の準備操作を開始する前に、hadoop バージョンがインストールされていることを確認してください...

React 入門レベルの詳細なメモ

目次1. Reactの基本的な理解1. はじめに2. Reactの特徴3. Reactが効率的な理由...

Mac OS に MySQL 5.7.20 をインストールするための詳細なグラフィックとテキストの説明

Mac OS X で TAR.GZ から MySQL 5.7 をインストールする MySQL 5.6...

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

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

MySQL 外部キー制約とテーブル関係の概要

目次外部キーテーブルの関係を決定する方法テーブル関係を作成する方法1対多の関係 - 従業員テーブルと...

マージンの重複問題を解決する方法

1. まず、2つ以上の隣接する通常フローブロック要素の垂直マージンの崩壊を引き起こす原因を知る必要が...

Ubuntu ブート自動起動サービス設定

Ubuntu でサービスを作成し、自動的に起動する方法: 1. [/lib/systemd/syst...