MySQL クラスタの詳細な説明: 1 つのマスターと複数のスレーブのアーキテクチャ実装

MySQL クラスタの詳細な説明: 1 つのマスターと複数のスレーブのアーキテクチャ実装

実験環境:

1. CentOS 7 サーバー 3 台

2. mysql5.7.26 (3台のマシンはすべてyum経由でインストールされています)

サーバーリスト

7.100.222.111マスター
47.103.211.5奴隷1
47.103.98.221奴隷2

MySQLをまだインストールしていない場合は、インストールチュートリアルをご覧ください: MySQLのインストール

1. 概要:

アーキテクチャ図:

この種のアーキテクチャはスタートアップ企業でよく使用され、その後の拡張にも便利です。

特徴:

1. 読書のプレッシャーを軽減できます。

2. 低コスト、迅速、便利な導入

3. 読み取りと書き込みの分離

4. スレーブを時間内に追加することで、データベースの読み取り負荷を軽減することもできます。

5. メインデータベースの単一障害点

6. データの一貫性の問題(同期の遅延が原因)

7. ホストがダウンすると書き込み操作は実行できなくなります

2. クラスターの構築

1. 設定ファイルを変更する

次のコマンドを使用して、3 つのサーバー上の構成ファイルをそれぞれ変更します。

$ vim /etc/my.cnf

3 つのサーバーの /etc/my.cnf MySQL 構成ファイルにそれぞれ次の内容を追加します。

マセター奴隷1奴隷2

サーバーID=1

#メインデータベースのbinlogログを開く

ログ bin = /var/lib/mysql/mysql-bin

サーバーID=2サーバーID=3

2. マスターデータベースにレプリケーションユーザーを作成する

mysqlコマンドの下に次のコマンドを入力して、スレーブライブラリ(スレーブ)のユーザーを作成し、マスターライブラリ(マスター)をコピーします。

mysql> '123456' で識別される 'test'@'%' に *.* 上のレプリケーション スレーブを許可します。
クエリは正常、影響を受けた行は 0 行 (0.00 秒)
 
mysql> 権限をフラッシュします。
クエリは正常、影響を受けた行は 0 行 (0.00 秒)

3. スレーブデータベースをマスターデータベースに関連付ける

マスターライブラリのステータスを表示するには、次のコマンドを使用します。

mysql> マスターステータスを表示します。

以下の情報を出力します。もちろん、あなたの情報は私のものとは異なる場合があります。

mysql> マスターステータスを表示します。
+------------------+----------+--------------+------------------+------------------+
| ファイル | 位置 | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+------------------+
| mysql-bin.000002 | 5141037 | | | |
+------------------+----------+--------------+------------------+------------------+
セット内の 1 行 (0.00 秒)

上記の結果からわかるように、ここではファイルと位置のみを確認する必要があります。他の 2 つはホワイトリストとブラックリストで、どのデータベースが同期され、どのデータベースが同期されないかを意味します。これらは必要に応じて設定できます。上記の最初の 2 つのフィールドを記録した後 ()。

2 つのスレーブで次のコマンドを実行します。

mysql> マスターを、master_host='47.100.222.111'、master_port=3306、master_user='test'、master_password='123456'、master_log_file='mysql-bin.000002'、master_log_pos=5141037 に変更します。
 
mysql> 権限をフラッシュします。
 
mysql> スレーブを起動します。

実行が完了したら、スレーブ ライブラリで次のステートメントの実行を続行します。

mysql> スレーブステータスを表示します\G;

以下の情報が出力されます。

************************** 1. 行 ****************************
Slave_IO_State: マスターがイベントを送信するのを待機中
マスターホスト: 47.100.225.121
Master_User: ヘルパー
マスターポート: 3306
接続再試行: 60
マスターログファイル:mysql-bin.000002
読み取りマスターログ位置: 5141037
リレーログファイル: slave1-relay-bin.000003
リレーログ位置: 5140628
リレーマスターログファイル: mysql-bin.000002
スレーブIO実行中: はい
スレーブSQL実行中: はい
レプリケート_Do_DB:
レプリケート_無視_DB:
----------以下省略

Slave_IO_Running: と Slave_SQL_Running: の両方が YES の場合、構成は成功します。

この時点で、マスター 1 台とスレーブ 2 台の構築は完了しており、マスター 1 台とスレーブ複数台のインストールも同様です。マスター データベース上にデータベースまたはテーブルを作成すると、スレーブ データベースがそれを複製します。

上記は、編集者が紹介したMySQLクラスタの1マスター複数スレーブアーキテクチャの詳細な説明と統合です。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。編集者がすぐに返信します。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

以下もご興味があるかもしれません:
  • MySQL 構成マスタースレーブサーバー (マスター 1 台とスレーブ複数台)
  • Mysql 1マスターと複数スレーブの導入の実装手順

<<:  HTMLからReactを実装する方法を教えます

>>:  Centos 用の rpm パッケージのカスタマイズと yum リポジトリの構築に関するチュートリアル

推薦する

Nginx+Tomcat 負荷分散クラスタのインストールと構成のケースの詳細な説明

目次序文1. Nginx+Tomcat 2. Nginxサーバーを構成する3. Tomcatアプリケ...

Linux での stat 関数と stat コマンドの使用法の詳細な説明

stat 関数と stat コマンドLinux ファイル内の [inode = インデックス ノード...

VMware Workstation Pro が Win10 アップデートにより開けなくなる問題の解決方法

今夜の夕食後にノートパソコンの電源を入れたところ、問題が発生しました。通常、コンピューターがスリープ...

Vue を通じて QR コードスキャン機能を実装する

ヒントこのプラグインは https プロトコルでのみアクセスできます。http プロトコルはうまく機...

win10にUbuntu18デュアルシステムをインストールするとmmx64.efiが見つからないという問題が発生する

Ubuntu 18のインストール中に、USBディスクからUbuntuのインストールを開始すると、mm...

誰もが知っておくべきウェブサイトのユーザビリティに関する 10 のヒント

これ以上時間を無駄にせず、早速本題に入りましょう。 1. ロゴに代替テキストを追加するこれには 2 ...

JavaScriptイテレータを学ぶ

目次導入js のイテレータはどのように見えるか反復プロトコル反復可能なプロトコルイテレータプロトコル...

グリッドはページのレイアウトプランです

<br /> 英語原文: http://desktoppub.about.com/od/...

さまざまなブラウザに対応するためにCSSで指定フォント@font-faceを導入する際の問題

Web ページを作成するときに、特定のフォントを使用したい場合は、 @font-faceを介して参照...

Linux CentOS6.5 yum インストール mysql5.6

この記事では、Linux yumを使用してmysql5.6をインストールする簡単な手順を参考までに紹...

Linux で LVGL エミュレータをコンパイルする際のエラーの解決方法

目次1. エラー現象2. エラー分析3. エラー解決1. エラー現象仮想マシンでLVGLエミュレータ...

UniappはBaidu Voiceを使用して録音をテキストに変換する機能を実現

3日間さまざまな困難に遭遇した後、ようやくこの機能を実現しました。正常に実装できる方法を見つける前に...

Tomcat の一般的な例外と解決コードの例

弊社のプロジェクトは Java で開発され、ミドルウェアは Tomcat でした。運用中に、Tomc...

CSSを使用して中央に固定された2つの列と適応型列を実現する方法

1. 絶対位置とマージンを使用するこの方法の原則は、左側と右側をドキュメントの流れから外れるように配...