mysqlのマスタスレーブ設定を確認する方法
手順に従ってMySQLマスター-スレーブ設定を確認できます。
- 主サーバにて、MySQLの設定ファイル(一般的にはmy.cnfあるいはmy.ini)を開き、以下の設定を探し、主サーバがバイナリログ記録(binlog)が有効になっていることを確認する:
log-bin=mysql-bin
- メインサーバーを再起動して設定を有効にする。
- 主サーバー上でMySQLにログインし、次のコマンドを実行して、複製に使用されるアカウントを作成して権限を付与します。
GRANT REPLICATION SLAVE ON *.* TO 'slave_user'@'%' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;
slave_user をレプリケーション用のユーザ名、password をパスワードに置き換えてください。
- マスターサーバの状態を確認するには、マスターサーバ上で次のコマンドを実行してください:
SHOW MASTER STATUS;
ファイルと位置の値を覚えておいて、サーバーから利用します。
- サーバ上で、MySQL設定ファイルを開き、以下の設定項目を見つけて、レプリケーション機能を有効にしてください。
server-id=2
replicate-do-db=your_database_name
your_database_nameを複製したいデータベース名に置き換えてください。複数のデータベースを複製したい場合は、replicate-do-db行を繰り返します。
- 再起動するためにサーバからコンフィグレーションを読み込む。
- スレーブからMySQLにログイン後、次のコマンドを実行してスレーブがマスターに接続するように設定する。
CHANGE MASTER TO MASTER_HOST='master_server_ip', MASTER_USER='slave_user', MASTER_PASSWORD='password', MASTER_LOG_FILE='master_log_file_name', MASTER_LOG_POS=master_log_pos_number;
master_server_ipを主サーバのIPアドレスに、slave_userとpasswordは主サーバで作成したレプリケーションアカウントのユーザー名、パスワードに、master_log_file_nameとmaster_log_pos_numberは手順4で確認した主サーバの状態に置き換えます。
- まず、下記を実行してレプリケーションサーバを立ち上げます。
START SLAVE;
- 以下のコマンドをサーバで実行して、そのサーバのレプリカの状態を確認します。
SHOW SLAVE STATUS \G;
Slave_IO_Running および Slave_SQL_Running が Yes であることを結果で確認します。そうであれば、マスター-スレーブレプリケーションが正常に設定されていることを意味します。
これでMySQL主従の設定の確認が完了しました。