MySQL のレプリケーション機能を使用してデータのバックアップと災害復旧を実現する方法
はじめに:
MySQL は一般的に使用されるリレーショナル データベース管理システムであり、実際のアプリケーションでは、データのセキュリティと高可用性を確保するために、多くの場合、データのバックアップと災害復旧が必要になります。 MySQL のレプリケーション機能でデータのバックアップとディザスタリカバリを実現する この記事では、MySQL のレプリケーション機能を使ってデータのバックアップとディザスタリカバリを実現する方法とコード例を紹介します。
1. レプリケーション機能の紹介
MySQL のレプリケーション機能はバイナリ ログ (Binary Log) によって実装されています。簡単に言うと、レプリケーション機能は、プライマリ データベースのすべての書き込み操作をバイナリ ログに記録し、バイナリ ログの情報に基づいてセカンダリ データベースからこれらの操作を再生することで、セカンダリ データベースのデータがバイナリ ログと一致していることを保証します。プライマリデータベース。
2. メイン データベースのセットアップ
CREATE USER 'repl'@'%' IDENTIFIED BY 'password'; -- '%'代表允许来自任意IP地址访问 GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%'; FLUSH PRIVILEGES;
log-bin=mysql-bin
次に、MySQL サービスを再起動します。
SHOW MASTER STATUS;
データベースで使用される「ファイル」フィールドと「位置」フィールドの値を記録します。
3. スレーブ データベースの設定
server-id=2 -- 从数据库的唯一标识,不同数据库必须有不同的值
CHANGE MASTER TO MASTER_HOST='主库IP', -- 主数据库的IP地址 MASTER_PORT=主库端口, -- 主数据库的端口 MASTER_USER='repl', MASTER_PASSWORD='repl账号的密码', MASTER_LOG_FILE='主库的File字段值', MASTER_LOG_POS=主库的Position字段值; START SLAVE;
4. データ バックアップと災害復旧テスト
データ バックアップCREATE DATABASE test; USE test; CREATE TABLE tb_test (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(20)); INSERT INTO tb_test (name) VALUES ('张三'),('李四'),('王五'); SELECT * FROM tb_test;
完了後、メイン データベースの MySQL サービスを再起動します。メイン データベースが正常に戻ると、スレーブ データベースはメイン データベースのデータを自動的に同期します。
5. まとめ
MySQL のレプリケーション機能により、データのバックアップや災害復旧を簡単に実現できます。マスター データベースとスレーブ データベースをセットアップするプロセスは比較的単純で、必要な構成とコマンドはわずかです。レプリケーション機能を使用すると、マスター データベースとスレーブ データベースの間でデータの同期を確保し、マスター データベースがダウンした場合でもスレーブ データベースが動作し続けることができるため、システムの可用性が向上します。
コード例:
以上がMySQLのレプリケーション機能を利用してデータのバックアップと災害復旧を実現する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。