Linux運維:MySql 5.7マスターコピー
5104 ワード
本節ではMysqlのコピーについて
公式文書を参照
主な方法は、-従来の方法:ホストベースのバイナリ・ログ(master's binary log)-新しい方法:グローバル・トランザクションID(Global Transaction Identifiers)ベース
常用Mysqlの主従レプリケーション:Masterベースバイナリログ(binarylog)
公式文書を参照
レプリケーション構成を行う前に、+我々Masterは新しい+我々のMasterは古い、古いデータが存在する可能性があるという2つの可能性に遭遇する可能性があります.
どちらの場合も、この共通の手順は、-Masterでbinary loggingを有効にし、一意のserver-idを構成する必要があります-Masterに接続したいSlaveごとに一意のservice-idを構成する-オプションで、Masterにコピー専用のユーザーを作成します-Masterにデータがすでに存在する場合は、まずデータcopyをSlavesに-binary logのファイル名と場所を得る-Slaves設定masterのhost name,login credentials,and binary log file name and positionを構成する必要がある
一般的なシーン:-新しいMasterとSlavesを構成-既存のデータのレプリケーションを構成-レプリケーション環境にSlaveを追加するように
新しいMasterとSlavesを構成する
1.マスター構成my.conf-log-bin:バイナリログを開く-server-id:一意のid、範囲1~2^32-1-オプションパラメータbinlog_format:ROW/STATEMENT/MIXED
2.Slave配置my.conf
3.レプリケーション専用のユーザーを作成する
Masterマシン、mysql-clientで次のコマンドを実行します.
4.Masterのstatus情報の表示
取得:ファイル名と場所
5.SlaveでMasterパラメータを設定する
slaveの起動
6.構成が成功したかどうかを確認する
次のように表示されます. Slave_IO_Running: Yes Slave_SQL_Running:Yes構成成功
公式文書を参照
主な方法は、-従来の方法:ホストベースのバイナリ・ログ(master's binary log)-新しい方法:グローバル・トランザクションID(Global Transaction Identifiers)ベース
常用Mysqlの主従レプリケーション:Masterベースバイナリログ(binarylog)
公式文書を参照
レプリケーション構成を行う前に、+我々Masterは新しい+我々のMasterは古い、古いデータが存在する可能性があるという2つの可能性に遭遇する可能性があります.
どちらの場合も、この共通の手順は、-Masterでbinary loggingを有効にし、一意のserver-idを構成する必要があります-Masterに接続したいSlaveごとに一意のservice-idを構成する-オプションで、Masterにコピー専用のユーザーを作成します-Masterにデータがすでに存在する場合は、まずデータcopyをSlavesに-binary logのファイル名と場所を得る-Slaves設定masterのhost name,login credentials,and binary log file name and positionを構成する必要がある
一般的なシーン:-新しいMasterとSlavesを構成-既存のデータのレプリケーションを構成-レプリケーション環境にSlaveを追加するように
新しいMasterとSlavesを構成する
1.マスター構成my.conf-log-bin:バイナリログを開く-server-id:一意のid、範囲1~2^32-1-オプションパラメータbinlog_format:ROW/STATEMENT/MIXED
[mysqld]
log-bin=mysql-bin
server-id=1
2.Slave配置my.conf
server-id=2
3.レプリケーション専用のユーザーを作成する
Masterマシン、mysql-clientで次のコマンドを実行します.
mysql> CREATE USER 'repl'@'%.mydomain.com' IDENTIFIED BY 'slavepass';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%.mydomain.com';
4.Masterのstatus情報の表示
mysql>SHOW MASTER STATUS;
取得:ファイル名と場所
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000001 | 595 | | | |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
5.SlaveでMasterパラメータを設定する
mysql> CHANGE MASTER TO
-> MASTER_HOST='master_host_name',
-> MASTER_USER='replication_user_name',
-> MASTER_PASSWORD='replication_password',
-> MASTER_LOG_FILE='recorded_log_file_name',
-> MASTER_LOG_POS=recorded_log_position;
slaveの起動
mysql> start slave;
6.構成が成功したかどうかを確認する
mysql> show slave status\G
次のように表示されます.
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: hadoop01
Master_User: repl
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000002
Read_Master_Log_Pos: 605
Relay_Log_File: hadoop02-relay-bin.000005
Relay_Log_Pos: 473
Relay_Master_Log_File: mysql-bin.000002
Slave_IO_Running: Yes
Slave_SQL_Running: Yes