MySQL 構成マスタースレーブサーバー (マスター 1 台とスレーブ複数台)

MySQL 構成マスタースレーブサーバー (マスター 1 台とスレーブ複数台)

この記事では主にMySQLマスタースレーブサーバー(マスター1台とスレーブ複数台)の構成について紹介します。興味があれば、詳細を確認してください。

現在の環境
セントロス7.6
MySQL 5.7

Centos 7.6 への MySQL 5.7 のインストールについては、https://www.jb51.net/article/99965.htm を参照してください。

アイデア

ここに画像の説明を挿入

ここに画像の説明を挿入

ホスト構成

confを変更する

vim /etc/my.cnf

[mysqld]の後に設定を追加し、保存して終了します。

サーバーID=1
ログビン=マスタービン
ログ bin インデックス = マスター bin.index

再起動

systemctl で mysqld.service を再起動します。

# ステータスを確認する systemctl status mysqld.service

テスト

mysql -u ルート -p
マスターステータスを表示します。 

ここに画像の説明を挿入

スレーブ 1 の構成

confを変更する

vim /etc/my.cnf

[mysqld]の後に設定を追加し、保存して終了します。

サーバーID=2
リレーログ=スレーブ01リレービン
リレーログインデックス=スレーブ01リレービン.インデックス

再起動

systemctl で mysqld.service を再起動します。
# ステータスを確認する systemctl status mysqld.service

スレーブ2の構成

confを変更する

vim /etc/my.cnf

[mysqld]の後に設定を追加し、保存して終了します。

サーバーID=3
リレーログ=スレーブ02リレービン
リレーログインデックス=スレーブ02リレービン.インデックス

再起動

systemctl で mysqld.service を再起動します。
# ステータスを確認する systemctl status mysqld.service

マスターとスレーブの関係を構成する

ホスト構成

ホストの MySQL コンソールにログインし、ユーザーを作成し、承認して更新します。

mysql -u ルート -p

'Mysql57*' によって識別されるユーザー 'repl'@'%' を作成します。
'Mysql57*' によって識別される 'repl'@'%' に *.* のレプリケーション スレーブを許可します。
権限をフラッシュします。

ここに画像の説明を挿入

スレーブ構成

mysql -u ルート -p

# 私のホストIPは192.168.1.8です
マスターを、master_host='192.168.1.8'、master_port=3306、master_user='repl'、master_password='Mysql57*'、master_log_file='master-bin.000001'、master_log_pos=0 に変更します。

スレーブを起動します。
#マスタースレーブ同期を停止#スレーブを停止;
# \G はスレーブ ステータスを表示するための改行を意味します \G; 

マスタースレーブステータスを確認すると、「マスターとスレーブのMySQLサーバUUIDが同じであるため、スレーブI/Oスレッドが停止します。レプリケーションが機能するには、これらのUUIDが異なっている必要があります。」というメッセージが表示されます。FAQを参照してください。

ここに画像の説明を挿入

テストデータの同期

ここで著者は視覚化ツール Navicat を使用していますが、読者は他のツールを使用することもできます。これは単なる簡単なテストです。

マスターライブラリに新しいライブラリ test-for-repl を追加し、スレーブライブラリ 01 と 02 に新しいライブラリがあるかどうかを確認します。

マスター ライブラリ test-for-repl に新しいテーブル test-create-table を追加して、スレーブ ライブラリ 01 および 02 にテーブルがあるかどうかを確認します。マスター ライブラリ test-for-repl に新しいテーブル test-create-table を追加して、スレーブ ライブラリ 01 および 02 にデータがあるかどうかを確認します。

ここに画像の説明を挿入

よくある質問

スレーブマシンはマスタースレーブ同期ステータスをチェックし、エラーを報告します。

マスターとスレーブの MySQL サーバー UUID が同じであるため、スレーブ I/O スレッドが停止します。レプリケーションが機能するには、これらの UUID が異なる必要があります。

ここに画像の説明を挿入

理由

ここで、著者は VMware ソフトウェアを使用して Centos7.6 + MySQL5.7 をインストールする仮想マシンを作成し、その仮想マシンを使用して他の 2 つの仮想マシンをスレーブ マシンとしてクローンしました。その結果、3 つの仮想マシンで MySQL を起動すると、同じ UUID が生成されます。

解決

MySQLのUUIDを見つけて、1文字を変更し、サービスを再起動してから、MySQLコンソールにログインしてマスタースレーブを有効にします。

検索 / -name 'auto.cnf'
vim /var/lib/mysql/auto.cnf
systemctl で mysqld.service を再起動します。
mysql -u ルート -p
スレーブを起動します。
# \G はスレーブ ステータスを表示するための改行を意味します \G; 

これで、MySQL マスター スレーブ サーバー (マスター 1 台とスレーブ複数台) の構成に関するこの記事は終了です。MySQL マスター スレーブ サーバーの関連コンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • MySQL クラスタの詳細な説明: 1 つのマスターと複数のスレーブのアーキテクチャ実装
  • Mysql 1マスターと複数スレーブの導入の実装手順

<<:  CSS3 で Taobao に空白スペースを実装する方法

>>:  html オプション 無効 選択 選択 無効 オプションの例

推薦する

Vueでスワイパープラグインを使用する際の問題を解決する

デモを作成するときにこのプラグインを使用していくつか問題が発生したため、プラグインの使用方法といくつ...

js でオブジェクトを作成するさまざまな方法とその長所と短所のまとめ

目次初期作成方法ファクトリーパターンコンストラクターパターンコンストラクタパターンの最適化プロトタイ...

Tomcatの再構成後に起動が遅くなる問題を迅速に解決

Jenkins+Tomcatサーバーの設定中に、Tomcat設定ファイルが変更され、サーバーのTom...

Dockerは複数のポートマッピングコマンドを有効にします

次のように: docker run -d -p 5000:23 -p 5001:22 --name ...

ウェブページヘッダーの最適化の提案

ロゴの最適化: 1.ロゴ画像はできるだけ小さくしてください。 2. 一般的には背景として配置されます...

vue+el-element でファイル名に応じてダイアログを動的に作成する実践

目次背景成し遂げる1. カプセル化された /utils/dialogControl.js 2.ダイア...

オンラインチャットを実現するVue+sshフレームワーク

この記事では、オンラインチャットを実現するためのVue + sshフレームワークの具体的なコードを参...

Vue.js パフォーマンス最適化 N 個のヒント (収集する価値あり)

目次機能コンポーネント子コンポーネントの分割ローカル変数v-show によるDOMの再利用キープアラ...

VMware Workstation 15 Pro インストール ガイド (初心者向け)

01. VMware Workstation Pro 15 のダウンロードダウンロード: VMwa...

HTML テーブルタグチュートリアル (13): 内部境界スタイル属性ルール

RULES を使用すると、テーブルの内部境界のスタイルを制御できます。基本的な構文<TABLE...

Vue は小数点付きの星評価を実装します

この記事では、小数点付きの星評価を実装するためのVueの具体的なコードを参考までに共有します。具体的...

vue3 キャッシュページキープアライブと統合ルーティング処理の詳細な説明

目次1. はじめに2. 使用1. vue2とvue3の違い2. ページ上の一部のデータはキャッシュす...

MySQL 5.7 の一時テーブルスペースを使用して落とし穴を回避する方法

導入MySQL 5.7 は、SSL/TLS と全体的なセキュリティ開発におけるいくつかの重要な変更に...

HTMLでは、全体的なスタイルとレイアウトを崩さずに、部分的に強制スクロールバーを使用できます。

まずはエフェクト画像を投稿します:全体的なスタイルとレイアウトが崩れないように、スクロール バーがロ...

MySQL のダウンロードとインストールの詳細グラフィックチュートリアル

1. MySQLデータベースをダウンロードするには、公式Webサイトにアクセスしてください:http...