ホームページ >データベース >mysql チュートリアル >MySQL でマスター/スレーブ レプリケーションを使用してデータのバックアップとリカバリを実現するにはどうすればよいですか?

MySQL でマスター/スレーブ レプリケーションを使用してデータのバックアップとリカバリを実現するにはどうすればよいですか?

王林
王林オリジナル
2023-07-30 10:49:481325ブラウズ

MySQL でマスター/スレーブ レプリケーションを使用してデータのバックアップとリカバリを実現するにはどうすればよいですか?

データのバックアップとリカバリは、データベース管理の非常に重要な部分です。 MySQL は、データの自動バックアップとリカバリを実現できる Master-Slave Replication 機能を提供します。この記事では、MySQLのマスタースレーブレプリケーション機能の設定方法と使い方を詳しく紹介します。

1. マスター サーバー (Master) を設定します

  1. my.cnf 設定ファイルに、次の設定を追加します:
[mysqld]
server-id = 1
log-bin = mysql-bin
binlog-do-db = your_database_name

その中に、 server-id はサーバー ID であり、任意の正の整数に設定できます。log-bin はバイナリ ログ ファイルの名前プレフィックスです。binlog-do-db は同期する必要があるデータベースの名前を指定します。

  1. MySQL サービスを再起動します。
sudo service mysql restart
  1. マスター/スレーブ レプリケーション用のアカウントを作成し、レプリケーション権限を付与します。
CREATE USER 'replication_user'@'%' IDENTIFIED BY 'your_password';
GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'%';
FLUSH PRIVILEGES;
  1. メインサーバーのステータスを表示します。
SHOW MASTER STATUS;

後で使用できるように、ファイルと位置の値を記録します。

2. スレーブ サーバー (Slave) の設定

  1. my.cnf 設定ファイルに、次の設定を追加します:
[mysqld]
server-id = 2

その中に、 server-id はサーバー ID であり、任意の正の整数に設定できます。

  1. MySQL サービスを再起動します。
sudo service mysql restart
  1. スレーブ サーバーに接続し、次のコマンドを実行します。
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 値に置き換えます。

  1. サーバーからレプリケーションを開始します。
START SLAVE;
  1. スレーブサーバーのステータスを表示します。
SHOW SLAVE STATUSG

Slave_IO_Running と Slave_SQL_Running の値が両方とも「Yes」の場合、マスター/スレーブ レプリケーション構成が成功したことを意味します。

3. データのバックアップとリカバリ

  1. データのバックアップ

メイン サーバー上のデータが変更されると、MySQL はこれらの変更をバイナリ ログに記録します。このファイルでは、スレーブ サーバーはマスター サーバーのバイナリ ログ ファイルを読み取ることでデータを同期します。

  1. データ復旧

マスター サーバーに障害が発生した場合、サービスを提供するにはスレーブ サーバーに切り替える必要があります。この時点で必要なのは、スレーブ サーバーをマスター サーバーにアップグレードすることだけです。

STOP SLAVE;
RESET SLAVE;  -- 清除从服务器的主从配置
RESET MASTER; -- 清除主服务器的主从配置

次に、スレーブ サーバーの構成を変更し、そのサーバー ID を 1 に設定し、MySQL サービスを再起動します。

このようにして、スレーブ サーバーは新しいマスター サーバーにアップグレードされ、元のマスター サーバーが修復された後、再びスレーブ サーバーとして構成できるようになります。

これまで、MySQL でマスター/スレーブ レプリケーションを使用してデータのバックアップとリカバリを実装する方法を学習しました。マスター/スレーブ サーバーを適切に構成することで、データのセキュリティと可用性を確保し、データ損失のリスクを軽減し、システムの信頼性と効率を向上させることができます。

以上がMySQL でマスター/スレーブ レプリケーションを使用してデータのバックアップとリカバリを実現するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。