両方のサーバーがウィンドウベースであるときにMySQL 5.6でレプリケーション(マスター/スレーブ)をセットアップする方法私が気に入っているのは、Linuxベースのレプリケーションです。 Windowsベースのサーバーで複製を経験した人を助けてください。
Windowsサーバーでのレプリケーションセットアップは、他のシステムでのレプリケーションセットアップと同等です: 公式マニュアルでは詳細なガイドを提供しています 要するに:
両方のサーバーで異なるサーバーIDを構成し、マスターでバイナリログをアクティブにします。まだ行っていない場合、最も一般的な方法は、my.iniファイルを変更してサービスを再起動することです(net restart mysql)。
[mysqld]
log-bin
server-id = 1
マスターがスレーブノードからアクセス可能であり、localhostにバインドされていないことも確認してください(bind-address = 127.0.0.1
)
マスターにスレーブをREPLICATION SLAVE権限で接続するためのユーザーを作成します(これにはMySQLコマンドラインを使用します)。
mysql master> CREATE USER 'user_name'@'ip.of.the.slave' IDENTIFIED BY 'password';
mysql master> GRANT REPLICATION SLAVE ON *.* TO 'user_name'@'ip.of.the.slave';
マスターのバックアップを作成し、それをスレーブに適用します。これを行うにはいくつかの方法があります(サーバーを停止してファイルをコピーすることで機能します)が、最も簡単な方法はmysqldumpを使用することです(sql-serverインストールのbinディレクトリに移動します(fe C:\ Program Files\MySQL\MySQL Server)。 5.7\bin)。また、これを両方のコマンドに追加して、資格情報を提供する必要がある場合があります:-uroot -pPassword)
(on the master windows command line) mysqldump --all-databases --master-data > dump.sql
(on the slave windows command line ) mysql < dump.sql
Dump.sqlの最初に、次のような行があります。
-- CHANGE MASTER TO MASTER_LOG_FILE = 'file_name', MASTER_LOG_POS = file_pos;
これらのパラメーターを使用して、スレーブでレプリケーションを構成します。
mysql slave> CHANGE MASTER TO MASTER_Host = 'ip.of.the.master',
MASTER_USER = 'user_name_you_just_created',
MASTER_PASSWORD = 'password_you_just_defined',
MASTER_LOG_FILE = 'file_name',
MASTER_LOG_POS = file_pos;
(MASTER_LOG_POS
などの整数の引用符は使用しないでください)。
これまですべて問題なければ、スレーブでレプリケーションを開始します。
mysql slave> START SLAVE;
実行されていることを確認するには、次のコマンドを実行します。
mysql slave> SHOW SLAVE STATUS;
そして探します:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
GTIDベースのレプリケーションは少し異なり、私は言及していません。