Red Hat Training
A Red Hat training course is available for RHEL 8
9.3.6. MySQL の複製
MySQL には、基本的なものから高度なものまで、レプリケーション用のさまざまな設定オプションが用意されています。このセクションでは、グローバルトランザクション識別子 (GTID) を使用して、新しくインストールした MySQL サーバーに MySQL でレプリケートするトランザクションベースの方法について説明します。GTID を使用すると、トランザクションの識別と整合性の検証が簡素化されます。
MySQL でレプリケーションを設定するには、以下を行う必要があります。
レプリケーションに既存の MySQL サーバーを使用する場合は、最初にデータを同期する必要があります。詳細は、アップストリームのドキュメント を参照してください。
9.3.6.1. MySQL ソースサーバーの設定
このセクションでは、MySQL ソースサーバーがデータベースサーバーで行われたすべての変更を適切に実行および複製するために必要な設定オプションについて説明します。
前提条件
- ソースサーバーがインストールされている。
手順
[mysqld]
セクションの/etc/my.cnf.d/mysql-server.cnf
ファイルに以下のオプションを含めます。bind-address=source_ip_adress
このオプションは、レプリカからソースへの接続に必要です。
server-id=id
id は一意である必要があります。
log_bin=path_to_source_server_log
このオプションは、MySQL ソースサーバーのバイナリーログファイルへのパスを定義します。例:
log_bin=/var/log/mysql/mysql-bin.log
gtid_mode=ON
このオプションは、サーバー上でグローバルトランザクション識別子 (GTID) を有効にします。
enforce-gtid-consistency=ON
サーバーは、GTID を使用して安全にログに記録できるステートメントのみの実行を許可することにより、GTID の整合性を強化します。
オプション:
binlog_do_db=db_name
選択したデータベースのみを複製する場合は、このオプションを使用します。選択した複数のデータベースを複製するには、各データベースを個別に指定します。
binlog_do_db=db_name1 binlog_do_db=db_name2 binlog_do_db=db_name3
オプション:
binlog_ignore_db=db_name
このオプションを使用して、特定のデータベースをレプリケーションから除外します。
mysqld
サービスを再起動します。# systemctl restart mysqld.service