MySQL マスタースレーブレプリケーションの読み書き分離構造の詳細な説明

MySQL マスタースレーブレプリケーションの読み書き分離構造の詳細な説明

MySQL マスタースレーブ設定

MySQL のマスター/スレーブ レプリケーションと読み取り/書き込み分離設定は非常にシンプルです。

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

マスターとスレーブの設定は似ています。

[mysqld]
ログ bin = mysql bin 
サーバーID=222

log-bin=mysql-binはバイナリログを有効にすることを意味します。

server-id=222サーバーの一意の ID を設定することを意味します。デフォルト値は 1 で、通常は IP アドレスの最後のセグメントです。他の MySQL サーバーと重複しない限り、別の値に書き込むことができます。

ここで、MySQLのデフォルトのmy.cnfファイルは、 /etc/mysql/conf.d conf.dパス内のすべてのcnfファイルを参照します。したがって、 /etc/mysql/conf.d conf.dディレクトリにcnfファイルを追加し、上記の内容を追加することもできます。

マスターマシンとスレーブマシンでそれぞれmysqlを再起動します。

/etc/init.d/mysql を再起動

マスターにアカウントを作成し、スレーブを承認し、スレーブで関連する設定を行う

マスターマシンとスレーブマシンにそれぞれ root ユーザーとしてログインします。

mysql -uroot -p // 入力後、root パスワードの入力を求められます。root パスワードを入力するとログインできます。

マスターマシン上

アカウントを作成し、スレーブ マシンを認証します。ユーザー名とパスワードに注意してください。これらは任意に設定できますが、スレーブが後で必要になるため、必ず書き留めておいてください。

'ryugou' によって識別される 'ryugou'@'%' に *.* のレプリケーション スレーブ権限を付与します。

通常、ルート アカウントは使用されません。@'%' は、アカウントとパスワードが正しい限り、すべてのクライアントが接続できることを意味します。ここでは、セキュリティを強化するために、192.168.145.226 などの特定のクライアント IP アドレスを使用できます。

スレーブマシン上

マスターステータスを確認する

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

MySQLターミナルに入力

次のようにコードをコピーします

マスターをmaster_host='xxx.xxx.xxx.xxx'、master_user='ryugou'、master_password='ryugou'、master_log_file='mysql-bin.000004'、master_log_pos=120に変更します。

master_log_file はマスター マシン上の対応するコンテンツであり、master_log_pos も同様です。マスター ステータスのコンテンツに注意してください。

master_user と master_password は、マスター マシンでの認証時に設定されたユーザー名とパスワードです。

スレーブサーバーを起動する

スレーブを起動します。

スレーブレプリケーション機能のステータスを確認する

スレーブステータスを表示\G;

リストが表示されます

主に、Slave_IO_Running と Slave_SQL_Running のステータスが両方とも Yes であることを確認します。

マスターはデータベースを作成し、サーバーからユーザーのアクセス権を設定します。

マスターにデータベース テストを作成すると、スレーブにもテストが作成されます。ここで、読み取りと書き込みを分離します。スレーブ マシン上の gou というユーザーはアクセスできますが、読み取りのみ可能です。

test.* の select 権限を gou に付与します。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • MySQL データベースのマスター スレーブ分離のサンプル コード
  • MySQL マスタースレーブ同期、読み取り書き込み分離構成手順
  • MySQL マスタースレーブレプリケーション、読み取り/書き込み分離、バックアップとリカバリの詳細な説明
  • MySQL マスタースレーブレプリケーション 読み書き分離の設定方法の詳細説明
  • Linux システムで MySQL マスター/スレーブ分離を構成する手順

<<:  Vue ベースの要素ボタン権限実装ソリューション

>>:  Dockerはbusyboxを使用してベースイメージを作成します

推薦する

Winows Server 2019 アクティベーション コードとボリューム ライセンス エディション KMS インストール キー GVLK

最近、社内文書の整理とファイルサーバーの構成を予定しています。以前はサーバー2003を使い慣れていま...

ウィンドウの中央にブロック要素の位置を設定する方法

ウィンドウの中央にブロック要素の位置を設定する方法ブロック要素をウィンドウの中央に配置する上記の方法...

Elementのメッセージポップアップウィンドウが繰り返しポップアップする問題の解決

目次1. 使用2. メッセージポップアップウィンドウが繰り返し表示される問題を解決する1. 使用Vu...

MySQL インデックス失敗の原理

目次1. インデックス失敗の理由2. インデックスの秩序が崩れる状況を見てみましょう。 - インデッ...

Vueでファジークエリを実装する方法の簡単な例

序文いわゆるファジークエリとは、ユーザーの完全な入力やすべての入力情報がなくてもクエリサービスを提供...

CentOS 7.2 は uniapp プロジェクトを展開するための nginx Web サーバーを構築します

Pantherは新人としてスタートし、今もまだ新人ですが、人々から学び、学んだことを時々皆さんと共有...

DockerとVMwareの競合を解決する

1. Dockerの起動の問題:問題は解決しました: Hyper-V をオンにする必要があります (...

Mysqlはフィールドスプライシングのための3つの関数を実装している

データをオペレーションにエクスポートする場合、フィールドの結合は避けられません。MySQL でこれが...

Dockerイメージの作成、アップロード、プル、デプロイを理解するための記事

目次1. 画像1. 鏡とは何ですか? 2. 画像の構成と目的(1) Dockerファイル(2)スクラ...

CentOS6 アップグレード glibc 操作手順

目次背景glibc 2.14をコンパイルするソフトリンクを変更するやっと背景テスト環境には Cent...

HTML+CSSを使用してマウスの動きを追跡する

ユーザーがプライバシーを意識するようになり、オンライン トラッキングに対する予防策を強化するにつれて...

MySQL で 2 つのセットの交差/差/和を取得する方法

MySQL の一般的なシナリオ: 2 つのデータ セットの交差と差を取得するステップ1. 2つのコレ...

Vue で棒グラフを使用し、自分で設定を変更する方法

1. HTMLファイルでechartをインポートする <!-- echarts をインポート ...

CSS トップに戻る コード例

最近のウェブサイトのほとんどはページが長く、4 画面または 5 画面の長さのものもあれば、2 画面ま...

マウスを置いたときに半透明効果のテキスト説明を実現するための純粋な CSS (初心者は必読)

効果は以下のとおりです。 例1 例2:例1[結婚式の計画]を例にとるHTML: <div cl...