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 計算プロパティ実装トランスクリプト

推薦する

JS でシングルトン モードを実装するための 6 つのソリューションの概要

序文今日は、デザインパターンのクリエーションパターンを見直していたところ、JS でシングルトンパター...

docker に openjdk をインストールして jar パッケージを実行する方法

画像をダウンロード docker プル openjdkデータボリュームの作成java_appデータボ...

Centos7 で mysqldump を使用して MySQL データベースの毎日の自動バックアップを作成する

1. 要件:データベースのバックアップは、実稼働環境にとって特に重要です。データベースのバックアップ...

WeChatアプレットでラッキーホイールゲームを実装する方法

ここでは主に、WeChat アプレットでラッキーホイール ゲームを開発する方法を紹介します。主に J...

タブ切り替えを実装するための HTML サンプル コード

タブ切り替えもプロジェクトではよく使われる技術です。一般的にタブ切り替えはjsやjqを使って実装され...

HTML DOCTYPEの略語

DOCTYPE が次のとおりである場合:コードをコピーコードは次のとおりです。 <!DOCTY...

CSS スティッキーフッター実装コード

この記事では、CSS スティッキー フッターの実装コードを紹介し、共有します。詳細は次のとおりです。...

Zabbix WEB 監視実装プロセス図

Zabbix独自のWEBインターフェースを例に、Web監視の設定を行います。環境: zabbix4....

iframe src 割り当ての問題 (サーバー側)

今日この問題に遭遇しました。サーバー側でiframeのsrc値を再割り当てし、iframeにIDを追...

PhpStormがVirtualBoxに接続できない問題を解決する

問題の説明: phpstorm の SFTP ホストを 192.168.122.1 に設定すると、接...

win10でのmysql5.7.21解凍バージョンのインストールチュートリアル

次のように、Win10でMysqlの解凍バージョンをインストールします。環境: win10 64ビッ...

パフォーマンス負荷診断にMySQLシステムデータベースを使用する方法

ある達人がかつて、自分の妻のことを知るのと同じくらい、自分が管理するデータベースのことを知るべきだと...

SQL 挿入文の書き方の説明

方法 1: INSERT INTO t1(field1,field2) VALUE(v001,v00...

親要素に対する CSS 子要素の固定配置ソリューションの詳細な説明

基本概念絶対配置: 絶対配置に設定された要素ボックスはドキュメント フローから完全に削除され、その包...

Docker CPU 制限の実装

1. --cpu=<値> 1) コンテナが使用できるCPUリソースの量を指定しますが、コ...