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を使用してベースイメージを作成します

推薦する

IE6/7 は混乱するだろう: 空のテキスト ノードの高さの問題

序文: ietester でドキュメント コードを表示するには、debugbar を使用します。すべ...

初心者向けに Docker に Jenkins をインストールする方法を詳しく説明したチュートリアル

Jenkins はオープンソース ソフトウェア プロジェクトです。Java をベースに開発された継続...

LNMP を展開して HTTPS サービスを有効にする方法に関するチュートリアル

LNMP とは: Linux+Nginx+Mysql+(php-fpm、php-mysql)つまり、...

JavaScript で動的な QML オブジェクトを作成する方法

1. オブジェクトを動的に作成するJavaScript からオブジェクトを動的に作成する方法は 2 ...

Windows 10にOdoo12開発環境をインストールする方法

序文多くの友人は Mac コンピューターを持っていないと言っていますが、Windows 開発は実際に...

Windows での MySQL コミュニティ サーバー 8.0.16 のインストールと構成方法のグラフィック チュートリアル

最近、MySQL関連の構文をよく見かけます。また、MySQLストアドプロシージャの書き方も学びたいの...

xshell を使用して VMware で Linux に接続する方法 (2 つの方法)

【序文】最近、ITOO の試験システムのストレステストを行いたいので、自分のコンピュータに Lin...

Linux で MySQL をインストールする簡単な方法

Linux に MySQL をインストールする方法をオンラインで検索すると、多くの方法が表示されまし...

Ubuntu16.04にclionをインストールするプロセス全体と手順の詳細な説明

CLion のプロセス全体を最初から説明します。CLion は、JetBrains がリリースした新...

nginxのリソースキャッシュ設定の詳細な説明

私はずっとキャッシュについて学びたいと思っていました。結局のところ、キャッシュはフロントエンドのパフ...

uniappとvueの違いの詳細な説明

目次1. シンプルなページの例2.uni-appはvueコンポーネントとミニプログラムネイティブコン...

Vue は書籍管理ケースを実装します

この記事では、書籍管理を実装するためのVueの具体的なコードを例として紹介します。具体的な内容は次の...

MySql 5.7.21 無料インストール バージョンの構成方法 (Win10 の場合)

1.インストールしたい場所に解凍し、my.iniファイルを作成します。 my.iniの内容は次のと...

Dockerでボリュームを管理する2つの方法

前回の記事では、Dockerの基礎知識であるローカルディレクトリのマウント方法を紹介しました。今日は...

Win7 で IIS7 Web および FTP サービスを完全にアンインストールする方法

昨日、パソコンにPHP開発環境をセットアップした後、Apacheサーバーを再起動するとエラーが続きま...