MySQL でマスター/スレーブ レプリケーションを使用してデータのバックアップとリカバリを実現するにはどうすればよいですか?
データのバックアップとリカバリは、データベース管理の非常に重要な部分です。 MySQL は、データの自動バックアップとリカバリを実現できる Master-Slave Replication 機能を提供します。この記事では、MySQLのマスタースレーブレプリケーション機能の設定方法と使い方を詳しく紹介します。
1. マスター サーバー (Master) を設定します
[mysqld] server-id = 1 log-bin = mysql-bin binlog-do-db = your_database_name
その中に、 server-id はサーバー ID であり、任意の正の整数に設定できます。log-bin はバイナリ ログ ファイルの名前プレフィックスです。binlog-do-db は同期する必要があるデータベースの名前を指定します。
sudo service mysql restart
CREATE USER 'replication_user'@'%' IDENTIFIED BY 'your_password'; GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'%'; FLUSH PRIVILEGES;
SHOW MASTER STATUS;
後で使用できるように、ファイルと位置の値を記録します。
2. スレーブ サーバー (Slave) の設定
[mysqld] server-id = 2
その中に、 server-id はサーバー ID であり、任意の正の整数に設定できます。
sudo service mysql restart
CHANGE MASTER TO MASTER_HOST='master_ip', MASTER_USER='replication_user', MASTER_PASSWORD='your_password', MASTER_LOG_FILE='master_log_file', MASTER_LOG_POS=master_log_pos;
master_ip をマスター サーバーの IP アドレスに置き換え、replication_user をレプリケーション アカウントに置き換えます。 your_password をレプリケーション アカウントのパスワードに置き換え、master_log_file をマスター サーバーの File 値に、master_log_pos をマスター サーバーの Position 値に置き換えます。
START SLAVE;
SHOW SLAVE STATUSG
Slave_IO_Running と Slave_SQL_Running の値が両方とも「Yes」の場合、マスター/スレーブ レプリケーション構成が成功したことを意味します。
3. データのバックアップとリカバリ
メイン サーバー上のデータが変更されると、MySQL はこれらの変更をバイナリ ログに記録します。このファイルでは、スレーブ サーバーはマスター サーバーのバイナリ ログ ファイルを読み取ることでデータを同期します。
マスター サーバーに障害が発生した場合、サービスを提供するにはスレーブ サーバーに切り替える必要があります。この時点で必要なのは、スレーブ サーバーをマスター サーバーにアップグレードすることだけです。
STOP SLAVE; RESET SLAVE; -- 清除从服务器的主从配置 RESET MASTER; -- 清除主服务器的主从配置
次に、スレーブ サーバーの構成を変更し、そのサーバー ID を 1 に設定し、MySQL サービスを再起動します。
このようにして、スレーブ サーバーは新しいマスター サーバーにアップグレードされ、元のマスター サーバーが修復された後、再びスレーブ サーバーとして構成できるようになります。
これまで、MySQL でマスター/スレーブ レプリケーションを使用してデータのバックアップとリカバリを実装する方法を学習しました。マスター/スレーブ サーバーを適切に構成することで、データのセキュリティと可用性を確保し、データ損失のリスクを軽減し、システムの信頼性と効率を向上させることができます。
以上がMySQL でマスター/スレーブ レプリケーションを使用してデータのバックアップとリカバリを実現するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。