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

推薦する

clipboard.js の使用法の概要

目次(1)はじめに: (2)クリップボードの内容をコピーする方法は次のとおりです。 (3)関数演算に...

基本構造、ドキュメント タイプ、ヘッダー、本文などの一般的な HTML 要素の概要。

1. 基本構造:コードをコピーコードは次のとおりです。 <!DOCTYPE html PUBL...

JavaScriptは4桁のランダム検証コードの生成を実装します

この記事の例では、JavaScriptで4桁のランダムな検証コードを生成する具体的なコードを参考まで...

Vueの7つの値転送メソッドの詳細な説明

1. 父から息子へ子コンポーネントにpropsフィールドを定義し、その型は配列です (フィールド値の...

Linux でメモリ使用量を確認する方法

システムの問題、アプリケーションの速度低下、または原因不明の問題をトラブルシューティングする場合、最...

単一テーブルのMySQLバックアップとリストアに関する簡単な説明

A. MySQLバックアップツールxtrabackupのインストール1. Percona 公式 xt...

js 学習ノート: class、super、extends キーワード

目次序文1. es6の前にオブジェクトを作成する2. es6 後のクラス宣言3. クラスの継承4. ...

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

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

Vueは指定された日付間のカウントダウンを実装します

この記事では、指定された日付間のカウントダウンを実装するためのVueの具体的なコードを例として紹介し...

Linux システムでのルート ディレクトリ拡張の概要

1. Linuxディスクの状態を確認する df -lh lsblkコマンドは、使用可能なすべてのブロ...

MySQL 同時実行制御の原則に関する知識ポイント

Mysql は、高性能なデータ ストレージ サービスを提供する主流のオープン ソース リレーショナル...

VMwareがLinuxシステムをインストールして起動した後に黒い画面が表示される問題を解決する

1. 設置環境1. HUAWEI mate x CPU i5 82500u、8g メモリ、独立グラフ...

Dockerコンテナでユーザーを切り替えるときに権限が不足する問題を解決する方法

Docker コンテナでユーザーを切り替えると、権限が不十分であるというメッセージが表示されます。解...

少なくとも7日間連続して注文を行ったユーザーに対するSQLクエリ

テーブルを作成するテーブル order(id varchar(10),date datetime,o...

Linux プロセスの CPU 使用率が 700% に達し、終了できない場合の解決策

目次1. 問題の発見2. プロセスの詳細情報を表示する3. 解決策4. 大法を再開する1. 問題の発...