MySQL データベースのマスター/スレーブ レプリケーションを構成するにはどうすればよいですか?
MySQL データベースのマスター/スレーブ レプリケーションは、一般的なデータ バックアップおよび高可用性ソリューションです。マスター/スレーブ レプリケーションを構成すると、ある MySQL サーバー (マスター サーバー) から別の MySQL サーバー (スレーブ サーバー) にデータを同期できるため、データベースの可用性とパフォーマンスが向上します。
以下では、MySQL データベースでマスター/スレーブ レプリケーションを構成する方法と、対応するコード例を紹介します。
まず、MySQL サーバーがシステムにインストールされ、MySQL サービスが開始されていることを確認します。
2.1 メイン サーバーの設定ファイルを変更します
メインサーバーを検索します。サーバーの設定ファイル (通常は /etc/mysql/my.cnf または /etc/my.cnf にあります) を見つけて、次の設定を追加します:
[mysqld] server-id=1 log_bin=mysql-bin binlog_do_db=your_database_name
その中で、server-id はサーバーの一意の ID を識別するために使用されます。マスター/スレーブ レプリケーションでは一意性を維持する必要があります。 log_bin にはバイナリログのファイル名を指定し、binlog_do_db には同期する必要があるデータベースの名前を指定します (カンマ区切りで複数設定可能)。
2.2 メイン サーバーの再起動
構成ファイルを保存して閉じた後、メイン サーバーを再起動して構成を有効にします。
$ sudo service mysql restartスレーブ サーバーの構成
3.1 スレーブ サーバーの構成ファイルを変更します
サーバーの設定ファイル (通常は /etc/mysql/my.cnf または /etc/my.cnf にあります) から見つかり、次の設定を追加します:
[mysqld] server-id=2 relay-log=mysql-relay-bin log_slave_updates=1 read_only=1
ここで、server-id は次の目的にも使用されます。サーバーの一意の ID を識別します。 lay-log はスレーブ サーバーのリレー ログ ファイル名を指定します。Log_slave_updates は 1 に設定され、スレーブ サーバーがバイナリ ログも記録することを示します。Read_only は 1 に設定され、スレーブ サーバーが読み取り専用であることを示します。
3.2 スレーブ サーバーの再起動
設定ファイルを保存して閉じた後、スレーブ サーバーを再起動して設定を有効にします。
$ sudo service mysql restartマスター サーバーに接続し、レプリケーション ユーザーを作成します
$ mysql -u root -p mysql> CREATE USER 'replication'@'%' IDENTIFIED BY 'your_password'; mysql> GRANT REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'replication'@'%'; mysql> FLUSH PRIVILEGES; mysql> SHOW MASTER STATUS;
このうち、「replication」はレプリケーションユーザーのユーザー名、「your_password」はレプリケーションユーザーのパスワードですので、実際の状況に応じて修正してください。
最後に、SHOW MASTER STATUS コマンドを実行し、後でスレーブ サーバーで使用する File と Position の値を記録します。
スレーブ サーバーに接続し、マスター/スレーブ レプリケーションを構成します$ mysql -u root -p mysql> CHANGE MASTER TO MASTER_HOST='master_host', MASTER_USER='replication', MASTER_PASSWORD='your_password', MASTER_LOG_FILE='master_log_file', MASTER_LOG_POS=master_log_pos; mysql> START SLAVE; mysql> SHOW SLAVE STATUS G;
ここで、「master_host」はマスターサーバーのIPアドレスまたはホスト名、「replication」はレプリケーションユーザーのユーザー名、「your_password」はレプリケーションユーザーのパスワード、「master_log_file」と「master_log_pos」ははファイルと位置の値です。
最後に、SHOW SLAVE STATUS G コマンドを実行し、Slave_IO_Running と Slave_SQL_Running の値が「Yes」であるかどうかを確認して、マスター/スレーブ レプリケーションが正常に構成されていることを確認します。
設定が完了すると、マスターサーバー上のデータがスレーブサーバーに同期され、マスター/スレーブレプリケーションが実現します。
概要
この記事では、MySQL データベースでマスター/スレーブ レプリケーションを構成する方法を紹介し、対応するコード例を示します。マスター/スレーブ レプリケーションにより、データのバックアップと高可用性が実現され、データベースの可用性とパフォーマンスが向上します。構成プロセスは比較的単純ですが、実際のアプリケーションでは、マスター/スレーブ レプリケーションの安定性と信頼性を確保するために、構成の一貫性や障害処理などの問題に注意を払う必要があります。
以上がMySQL データベースのマスター/スレーブ レプリケーションを構成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。