ホームページ データベース mysql チュートリアル Windows ホスト上で MySQL マスター/スレーブ レプリケーションを実装するにはどうすればよいですか?

Windows ホスト上で MySQL マスター/スレーブ レプリケーションを実装するにはどうすればよいですか?

May 12, 2018 am 09:22 AM
windows 成し遂げる

MySQL のマスター/スレーブ レプリケーションは、binlog ログを通じて実装されます。マスター/スレーブ レプリケーションの「マスター」は MySQL マスター サーバー上のデータベースを指し、「スレーブ」は MySQL スレーブ サーバー上のデータベースを指します。レプリケーションはデータベース レベルに基づいて行われるため、スレーブ サーバーのデータベース名はマスター サーバーのデータベース名と一致している必要があります。また、マスター/スレーブ レプリケーションを実現するには、少なくとも 2 つの MySQL サーバーが必要です。 2 つの MySQL サーバー)。サーバーが異なるホストに配置されているか、2 つの MySQL が異なるポートを持つ 1 つのホストにインストールされています。

一般的に、MySQL データベースのメイン データベースとスレーブ データベースは別のホストに分散されます。現在ホストが 1 つしかなく、それが Windows システムである場合、MySQL のマスター/スレーブ レプリケーションを実装するにはどうすればよいでしょうか?方法は以下の通りです:

ここではマスター1台、スレーブ1台の操作方法のみを紹介します。

私のコンピューターには xampp 統合環境 (wamp インストール パッケージと同様) がインストールされており、その中の MySQL サービスは MySQL のメイン サーバーとして使用できます。次に、このコンピュータにデータベースのスレーブ サーバーとして別の MySQL をインストールする必要もあります。

私のコンピューター xampp にインストールされている MySQL のバージョンは 5.6.20 で、ポートは 3306 です。

別の MySQL をインストールする必要があります (問題を回避するには、同じバージョンまたは類似のバージョンをインストールするのが最善です)。ポートは 3307 に変更されます

データベース サーバー パラメーター:


  • マスターサーバー (マスター): IP は 127.0.0.1、ポートは 3306 です

  • スレーブ (スレーブ): IP は 127.0.0.1、ポートは 3307 です

マスターサーバーの構成:

マスターサーバーのデータベース構成ファイル (

E:xamppmysqlbinmy.ini) を変更し、[mysqld] タグの下部に次のコードを追加します:

#バックアップする必要があるデータベース

binlog-do -db=test

#不要 バックアップされたデータベース

binlog-ignore-db=mysql

#バイナリログを有効にする

log-bin=mysql-bin

#サーバーid

server-id=1

保存して終了し、MySQL メイン サーバーを再起動します。

binlog-do-db は同期する必要があるデータベースを指定するために使用され、

binlog-ignore-db は同期する必要のないデータベースを指定します。どちらのパラメータも設定されていない場合、スレーブ サーバーはすべてのデータベースをコピーします。マスターサーバー。

通常、root アカウントはアカウントの同期には使用されません。このため、メインサーバー上に新しいユーザー (user01、パスワードは 123456 など) を作成する必要があります。

ここではコマンドラインを使用して作成します。方法は次のとおりです:

cmd を開き、E:xamppmysqlbin に切り替え、root アカウントを使用して MySQL メインサーバーに接続します:

mysql -uroot -p -P3306

新しいユーザーを作成します:

create user 'user01'@'127.0.0.1' は '123456' で識別されます;

(以降の IP アドレス@ は、接続を許可されているクライアントの IP アドレスです。)

次に、新しいユーザーのマスター/スレーブ レプリケーションのアクセス許可を構成します。

助成金 *.* のレプリケーション スレーブ、'user01'@'127.0.0.1' は '123456' で識別されました;

(@ の後の IP アドレスは、接続を許可されているクライアントの IP アドレスです。 '%' に変更されました。これは、クライアントに IP アドレス制限がないことを意味します)

メインサーバーのデータベース (テスト) に既にデータがある場合は、メインサーバーのデータを手動でコピーする必要があります。まずスレーブサーバー。方法は次のとおりです:

この場合、1 つのデータベース (テスト) のみをバックアップします。テストにはテーブル Basic_user があり、テーブルにはすでにデータがあります。データをコピーするときにデータベース テストのデータが更新されないようにするには、最初にデータベースをロックする必要があります。コマンドは次のとおりです。

このコマンドはグローバル読み取りロックで、メイン サーバーのすべてのデータベースに読み取りロックを追加します。読み取りロックと書き込みロックの違いは次のとおりです。


読み取りロック (読み取りロック) とも呼ばれます。共有ロック。すべての
  • 読み取り操作は許可されますが、書き込み操作はブロックされます。つまり、すべての接続はデータの読み取りのみが可能ですが、データの書き込みは許可されません。

    書き込みロック(書き込みロック):排他ロック、排他ロックとも呼ばれ、現在の接続の読み取りと書き込みのみを許可し、他の同時読み取り操作と書き込み操作を許可しません。

マスターサーバーのデータベースをロックした後、スレーブサーバーにもデータベーステストを作成し、すべてのテーブル(テーブル構造とテーブルデータを含む)をインポートします。

次に、次のコマンドを実行してロックを解除します:

メインサーバーのマスターステータスを表示します: mysq l > マスターを表示ステータス;

+---------------------+----------+-------------- +--- ---------------+-------------------+ | ファイルの位置 | | Executed_Gtid_Set | +-----------------+----------+-------------- -+--- ---------------+-------------------+| 498 | テスト | ------------------+-----------------+

サーバーからの設定:

スレーブサーバーのデータベース設定ファイル (

E:mysql

my.ini) を変更し、

[mysqld] タグの最後に次のコードを追加します。 #ポート

ポート = 3307#サーバーidserver_id = 2

#バイナリ ログを有効にする (スレーブ サーバーはバイナリ ログを有効にする必要はありません)

log-bin=mysql-bin

保存して終了し、MySQL サービスを再起動します。 mysqlスレーブサーバーへの接続:

mysql-uroot-pp3307

configureレプリケーションパラメーター:

master_host= '127.0.0.1'、master_user = 'user01'、master_passwordへ= '123456',

master_port=3306,master_log_file='mysql-bin.000008',master_log_pos=498;パラメータの詳細:

master_host:

メインサーバーのIP マスターユーザー : master サーバー上で新しく作成されたユーザー名
master_password: ユーザーのパスワード
master_port: マスターサーバーのポート 変更されていない場合は、デフォルトで十分です。

master_log_file

: マスターサーバーのバイナリログファイルの名前、マスターサーバーのマスターステータスを表示するときに表示されるファイルの値を入力します

master_log_pos: ログの場所、

を入力しますマスターサーバーのマスターステータスを表示するには スレーブサーバーのスレーブレプリケーション機能を開始するときに表示されるPositionの値: start smile;

スレーブサーバーのスレーブステータスを表示:

mysql> ; スレーブのステータスを表示 G

******* ********************* 1. 行 *********** *************** I SLAVE_IO_STATE: マスターがイベントを送信するのを待っています

Master_host: 127.0.0.1

Master_user: User01

Master_Port: 3306

Connect_retry: 60

Master_log_file: mysql-bin.000000 09_ read_master_log_pos:120

leray_log_file:hp-pc-relay-bin.000004

HPを使用してHP-PC-RELAY-BINを使用します

Slave_IO_Running と Slave_SQL_Running の値が両方とも Yes の場合、マスター/スレーブ レプリケーションのすべての構成が成功したことを意味します。つまり、スレーブ サーバーはデータベース データをマスター サーバーと自動的に同期できます。

その後、マスターサーバーのデータが更新される限り(たとえば、テストデータベースに新しいテーブルが作成されるか、テーブル内のデータが変更される)、スレーブサーバーは自動的に一貫性を保ちます。マスターサーバー。しかし、誰かがスレーブ サーバー上のデータを意図的に変更した場合、2 つの MySQL サーバーが相互にマスター/スレーブになるように設定しない限り、マスター サーバー上のデータは同期的に更新されません。
上記は、ウィンドウ環境で mysql を構成するマスター/スレーブ アーキテクチャについてまとめたものです。興味のある方は試してみてください。

関連記事:

MySQLの基礎知識まとめ

mysq用mysql-5.7.21のインストールl ダウンロード、インストールして簡単に使用できます

以上がWindows ホスト上で MySQL マスター/スレーブ レプリケーションを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Windows 7にMySQLをインストールできますか? Windows 7にMySQLをインストールできますか? Apr 08, 2025 pm 03:21 PM

はい、MySQLはWindows 7にインストールできます。MicrosoftはWindows 7のサポートを停止しましたが、MySQLは引き続き互換性があります。ただし、インストールプロセス中に次のポイントに注意する必要があります。WindowsのMySQLインストーラーをダウンロードしてください。 MySQL(コミュニティまたはエンタープライズ)の適切なバージョンを選択します。インストールプロセス中に適切なインストールディレクトリと文字セットを選択します。ルートユーザーパスワードを設定し、適切に保ちます。テストのためにデータベースに接続します。 Windows 7の互換性とセキュリティの問題に注意してください。サポートされているオペレーティングシステムにアップグレードすることをお勧めします。

PSの負荷速度をスピードアップする方法は? PSの負荷速度をスピードアップする方法は? Apr 06, 2025 pm 06:27 PM

Slow Photoshopの起動の問題を解決するには、次のような多面的なアプローチが必要です。ハードウェアのアップグレード(メモリ、ソリッドステートドライブ、CPU)。時代遅れまたは互換性のないプラグインのアンインストール。システムのゴミと過剰な背景プログラムを定期的にクリーンアップします。無関係なプログラムを慎重に閉鎖する。起動中に多数のファイルを開くことを避けます。

[ブラウザ]タブを閉じることと、JavaScriptを使用してブラウザ全体を閉じることを区別する方法は? [ブラウザ]タブを閉じることと、JavaScriptを使用してブラウザ全体を閉じることを区別する方法は? Apr 04, 2025 pm 10:21 PM

ブラウザのJavaScriptを使用して、タブを閉じることとブラウザ全体を区別する方法は?ブラウザの毎日の使用中、ユーザーは...

PSの垂直参照線を引く方法 PSの垂直参照線を引く方法 Apr 06, 2025 pm 08:18 PM

Photoshopで垂直ガイドを引く:ルーラービューを有効にします(ビュー>ルーラー)。マウスをルーラーの垂直エッジの上にホバリングし、次にカーソルが二重矢印を備えた垂直線になり、マウスを保持してドラッグして基準線を引き出します。ガイドをドラッグして[削除]をクリックするか、クロスにホバリングします。

特定のシステムバージョンでMySQLが報告したエラーのソリューション 特定のシステムバージョンでMySQLが報告したエラーのソリューション Apr 08, 2025 am 11:54 AM

MySQLのインストールエラーのソリューションは次のとおりです。1。システム環境を慎重に確認して、MySQL依存関係ライブラリの要件が満たされていることを確認します。異なるオペレーティングシステムとバージョンの要件は異なります。 2.エラーメッセージを慎重に読み取り、依存関係のインストールやSUDOコマンドの使用など、プロンプト(ライブラリファイルの欠落やアクセス許可など)に従って対応する測定値を取得します。 3.必要に応じて、ソースコードをインストールし、コンパイルログを慎重に確認してみてください。これには、一定量のLinuxの知識と経験が必要です。最終的に問題を解決する鍵は、システム環境とエラー情報を慎重に確認し、公式の文書を参照することです。

MySQLはダウンロード後にインストールできません MySQLはダウンロード後にインストールできません Apr 08, 2025 am 11:24 AM

MySQLのインストール障害の主な理由は次のとおりです。1。許可の問題、管理者として実行するか、SUDOコマンドを使用する必要があります。 2。依存関係が欠落しており、関連する開発パッケージをインストールする必要があります。 3.ポート競合では、ポート3306を占めるプログラムを閉じるか、構成ファイルを変更する必要があります。 4.インストールパッケージが破損しているため、整合性をダウンロードして検証する必要があります。 5.環境変数は誤って構成されており、環境変数はオペレーティングシステムに従って正しく構成する必要があります。これらの問題を解決し、各ステップを慎重に確認して、MySQLを正常にインストールします。

ターミナルからMySQLにアクセスできません ターミナルからMySQLにアクセスできません Apr 08, 2025 pm 04:57 PM

端末からmysqlにアクセスできない場合は、次の理由があります。MySQLサービスが実行されていません。接続コマンドエラー;許可が不十分です。ファイアウォールは接続をブロックします。 mysql構成ファイルエラー。

See all articles