MySQL マスタースレーブ構成の設定方法

MySQLのマスタースレーブレプリケーションを設定するには、次の手順に従う必要があります。

  1. MySQLがマスターとスレーブ両方のサーバーにインストールされていることを確認してください。
  2. 主サーバー上の設定ファイル (my.cnf または my.ini) で、バイナリログ機能を有効にします。[mysqld] セクションで、次の設定を追加します。
  3. server-id=1
    log_bin=/var/log/mysql/mysql-bin.log
  4. 再起動しますメインサーバを設定による反映させるために.
  5. レプリケーション用ユーザーをマスターサーバー上に作成し、適切な権限を付与します。例えば:
  6. CREATE USER ‘repl’@’slave_ip’ IDENTIFIED BY ‘password’;
    GRANT REPLICATION SLAVE ON *.* TO ‘repl’@’slave_ip’;
    FLUSH PRIVILEGES;
  7. 母体のサーバーで次のコマンドを実行して、バイナリログの位置とファイル名を取得します。
  8. SHOW MASTER ステータスを表示する
  9. サーバから設定ファイルを変更して、サーバレプリケーションを有効にします。[mysqld] セクションに次の設定を追加します。
  10. server_id = 2\nrelay_log = /var/log/mysql/mysql-relay-bin.log
  11. サーバを再起動して設定を有効にします。
  12. 以下のコマンドをサーバ側で実行し、マスターサーバの構成情報と配置を実施します。
  13. CHANGE MASTER TO MASTER_HOST=’マスター_ip’, MASTER_USER=’repl’, MASTER_PASSWORD=’パスワード’, MASTER_LOG_FILE=’binlog_ファイル名’, MASTER_LOG_POS=log_ファイル位置;
  14. レプリケーション プロセスの開始へのサーバー
  15. スレーブの起動;
  16. サーバ上で次のコマンドを実行して、レプリケーションの状態を確認します:
  17. SLAVE STATUSを表示します。
  18. Slave_IO_Running と Slave_SQL_Running の両方の値が「YES」になれば、レプリケーションが正常に動作していると判断されます。

主従レプリケーションを設定する前に、主従の間で相互にアクセスできることを確認し、主サーバー上のデータが従サーバーに同期されていることを確認する必要があります。

bannerAds