Windows で MySQL マスター スレーブ レプリケーションを構成する方法

Windows で MySQL マスター スレーブ レプリケーションを構成する方法

MySQL マスター/スレーブ レプリケーションを使用すると、1 つのデータベース (マスター データベース) のデータを 1 つ以上のデータベース (スレーブ データベース) に複製できます。
マスター データベースは通常、リアルタイムのビジネス データの書き込みおよび更新操作に使用され、スレーブ データベースは主に読み取りに使用されます。

マスタースレーブレプリケーションプロセス:

1. マスター サーバーでの変更は、独自の I/O トレッド (I/O スレッド) を通じてバイナリ ログに保存されます。
2. スレーブ サーバーでも I/O スレッドが開始されます。設定されたユーザー名とパスワードを使用してマスター サーバーに接続し、バイナリ ログの読み取りを要求し、読み取ったバイナリ ログをローカルのリアル ログに書き込みます。
3. サーバー上で SQL スレッドを開始し、定期的に Realy ログ (このファイルもバイナリです) を確認します。更新が見つかった場合は、更新されたコンテンツをローカル データベースですぐに実行します。

環境は以下のとおりです。
プライマリデータベース: MySQL バージョン 5.7、IP は 192.168.1.11
スレーブ データベース: MySQL バージョン 5.7、IP は 192.168.1.12

1. マスターデータベースの構成

1. testdb という名前の新しいテスト データベースを作成します。

2. my.iniを開いて設定を追加する

# マスタースレーブレプリケーション server-id=1 # server-id を設定
log-bin=mysql-bin #バイナリファイルを開く #データベースを同期し、他のデータベースは同期しない (以下のbinlog-ignore-dbのいずれかを選択)
binlog_do_db = テストdb 
#データベースを同期せず、その他すべてを同期します #binlog-ignore-db = information_schema 
#binlog-ignore-db = MySQL

3. MySQLサービスを再起動する

4. 同期用のユーザーアカウントを作成する (1) 管理者としてcmdウィンドウを開き、mysql -uroot -pを実行し、パスワードを入力(空白の場合はEnterキーを押します)してログインします。
(2)次の3つのコマンドを順番に実行して、ユーザー(ユーザー名MySlave、パスワード123456)を作成し、権限を更新します。

'123456' によって識別される 'MySlave'@'192.168.1.12' ユーザーを作成します。
*.* のレプリケーションスレーブを 'MySlave'@'192.168.1.12' に付与します。
権限のフラッシュ;

5. マスターのステータスを確認し、バイナリファイル名と場所を記録します。

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

バイナリファイルはmysql-bin.000005で、位置は154です。

2. データベースから設定する

1. testdb という名前の新しいテスト データベースを作成します。

2. 同期アカウントがログインできるかどうかを確認します。Navicat for MySQL を開き、新しいリンクを作成し、IP 192.168.1.11、ユーザー名 MySlave、パスワード 123456 を入力して、「接続テスト」をクリックし、接続できるかどうかを確認します。

3. my.iniを開いて設定を追加する

server-id=2 #サーバーIDを設定
log-bin=mysql-bin #バイナリファイルを開く

4. MySQLサービスを再起動する

5. cmdコマンドラインを使用してMySQLデータベースにログインし、次のコマンドを実行して手動で同期します。

mysql > マスターを MASTER_HOST='192.168.1.11'、MASTER_PORT=3306、MASTER_USER='MySlave'、MASTER_PASSWORD='123456'、MASTER_LOG_FILE='mysql-bin.000005'、MASTER_LOG_POS=154 に変更します。

6.スレーブ同期プロセスを開始する

mysql> スレーブを起動します。

7. スレーブステータスを確認する

コマンドを実行します: show slave status\G;

Slave_IO_Running: Yes かつ Slave_SQL_Running: Yes の場合、2 つのスレッドが開始され、マスター/スレーブ レプリケーション構成が成功したことを示します。

8. マスター データベースに新しいテーブルを作成し、スレーブ データベースを更新してテーブルを表示してテストします。

述べる:

データベースのマスター/スレーブ レプリケーションを実行する前に、マスター データベースにテーブルとデータがある場合、このデータは同期されないため、手動でエクスポートしてスレーブ データベースにインポートする必要があります。

上記は、Windows での MySQL マスタースレーブレプリケーションの設定方法の詳細な内容です。MySQL マスタースレーブレプリケーションの詳細については、123WORDPRESS.COM の他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • MYSQL データベース GTID はマスタースレーブレプリケーションを実現します (超便利)
  • MySql マスタースレーブレプリケーションの実装原理と構成
  • MySQL マスタースレーブレプリケーションでエラーをスキップする方法
  • MySQL マスタースレーブレプリケーションの遅延の原因と解決策
  • MySQL のマスタースレーブレプリケーションと読み取り書き込み分離の原理と使用法の詳細な説明
  • Docker ベースの MySQL マスタースレーブ レプリケーションを実装する方法
  • MySQL マスタースレーブレプリケーションの役割と動作原理の詳細な説明
  • MySQL はどのようにしてマスターとスレーブの同期を実現するのでしょうか?

<<:  Dockerレジストリイメージ同期の実装アイデア

>>:  jQuery の CSS スタイル属性 css() と width() の完全ガイド

推薦する

Vueはシンプルなコメント機能を実装します

この記事では、Vueの簡単なコメント機能を実装するための具体的なコードを参考までに共有します。具体的...

Docker を使用して静的 Web サイト アプリケーションを作成する (複数の方法)

静的ウェブサイトをホストできるサーバーは数多くあります。この記事では、nginx、apache、to...

Linuxの貼り付けコマンドの使い方

01. コマンドの概要貼り付けコマンドは各ファイルを列ごとに結合します。これは、2 つの異なるファイ...

Dockerボリューム削除操作

プルーンこのコマンドを使用するには、クライアントとデーモンの両方の API バージョンが少なくとも ...

mysql 行列変換サンプルコード

1. 需要3 つのテーブルがあります。一定期間にわたるさまざまな抗生物質感受性の結果、つまり rep...

JS ES 新機能テンプレート文字列

目次1. テンプレート文字列とは何ですか? 2. 複数行のテンプレート文字列2.1 式付きテンプレー...

WeChatミニプログラムはどのようにしてユーザー情報とユーザーの電話番号を同時に取得するのか

今日ログインページを書いていたとき、個人情報と携帯電話番号を認証する必要がありましたが、ページにボタ...

Ubuntuがインターネットに接続できない場合の解決策

問題の説明:デスクトップ コンピューターとキャンパス ネットワークを使用して、有線モードでインターネ...

DockerにNginxをインストールする方法

DockerにNginxをインストールするNginx は、IMAP/POP3/SMTP サービスも提...

SpringBoot と Docker の統合の詳細なプロセス

目次1. デモプロジェクト1.1 インターフェースの準備1.2 構成の準備2. Dockerがリモー...

面白いウェブサイトをデザインするための方法とテクニック(写真)

他の人から「つまらない」とか「時代遅れ」というフィードバックを受けて、それを変更しようとしたのに、更...

Dockerコンテナがホストポートにアクセスできない場合の解決策

最近、仕事中に問題が発生しました。Docker コンテナがホストの redis にアクセスできず、t...

HTML テーブル マークアップ チュートリアル (28): セルの境界線の色属性 BORDERCOLOR

テーブルを美しくするために、セルごとに異なる境界線の色を設定できます。基本的な構文<TD 境界...

WeChatアプレットのスクロールビューは、プルアップ時にデータの読み込みを重複させるソリューションを実装しています。

WeChat アプレットのスクロール ビューでは、プルアップして読み込むときにバグが多く発生します...

MySQLでテーブル名を変更する方法と注意すべき点

目次1. テーブル名を変更する方法2. 注記要約: 1. テーブル名を変更する方法RENAME TA...