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 オプション 無効 選択 選択 無効 オプションの例

推薦する

Docker+DockerCompose を使用して Web アプリケーションをカプセル化する方法

目次テクノロジースタックバックエンドビルドAPIフロントエンドウェブ構築ゲートウェイ建設ゲートウェイ...

ウェブページの広告デザインにおけるウェブデザインの寸法とルール

1. 800*600 未満の場合、Web ページの幅が 778 以内であれば、水平スクロール バーは...

トピックページデザインの 5 つの基本スキル (Alibaba UED Shanmu)

このトピックは、2012 年後半の社内共有です。まだ記事にはなっていませんが、春節が近づいているので...

デザイン参考 WordPressウェブサイト構築成功事例

これら 16 のサイトはそれぞれ注意深く読む価値があり、どのサイトでも推奨されている Web サイト...

ElementUIはカスケードセレクタを実装します

この記事の例では、カスケードセレクターを実装するためのelementUIの具体的なコードを参考までに...

HTML面接の質問の要約

1. doctypeの役割、厳密モードと混合モードの違い、そしてその重要性1. 構文形式: <...

MySQL マスタースレーブレプリケーション 読み書き分離の設定方法の詳細説明

1. 説明前回は、MySQL のインストールと構成、MySQL ステートメントの使用、MySQL デ...

Dockerイメージの作成、保存、読み込み方法

イメージを作成する方法は 3 つあります。既存のイメージに基づいてコンテナを作成する、ローカル テン...

IIS 7.5はURL書き換えモジュールを使用してWebページのリダイレクトを実現します。

Apache では構成ファイルで Web ページまたは Web サイトの書き換えを簡単に設定できる...

MySQLがOracleのnvlと同様の機能を持つことができるかどうかについての簡単な議論

isnullの代わりにifnullを使用するisnull は、null かどうかを判断するために使用...

Centos7にGitLabサーバーをインストールして展開する方法

私はここでCentOS 7 64ビットシステムを使用しています。CentOS 64ビットシステムを試...

geoip を使用して nginx で地域を制限する方法

このブログは仕事のメモです環境: nginx バージョン: nginx/1.14.0 Centos ...

エラー 2002 (HY000): ソケット '/tmp/mysql.sock' 経由でローカル MySQL サーバーに接続できません

エラーメッセージ:エラー 2002 (HY000): ソケット '/tmp/mysql.so...

Vue+echarts でプログレスバーのヒストグラムを実現

この記事では、プログレスバーヒストグラムを実現するためのvue+echartsの具体的なコードを参考...