備忘録

備忘録

MariaDBでレプリケーションする方法

Ⅰ. はじめに

タイトルの通り「MariaDBレプリケーションする方法」です。

Ⅱ. やり方

1. Master側の設定を変更する

server.cnf

[mysqld]
server-id = 1
log-bin
expire_logs_days = 3
max_binlog_size = 500M
2. Master側のDBをダンプする
mysqldump -u root -p --all-databases --flush-logs --single-transaction --master-data=2 > dump.sql
3. Slave側の設定を変更する

server.cnf

[mysqld]
server-id=2
log-bin
read_only
4. Slave側のDBをリストアする
mysql -u root -p < dump.sql
5. バイナリログ名とポジション番号を確認する
$ cat dump.sql | grep -m1 "MASTER_LOG_POS="
-- CHANGE MASTER TO MASTER_LOG_FILE='mysqld-bin.000006', MASTER_LOG_POS=387;
6. Slaveを開始する
STOP SLAVE;
CHANGE MASTER TO MASTER_HOST='10.0.0.1', MASTER_PORT=3306, MASTER_USER='root', MASTER_PASSWORD='db_password', MASTER_LOG_FILE='mysqld-bin.000006', MASTER_LOG_POS=387;
START SLAVE;
7. Slave状態を確認する
SHOW SLAVE STATUS\G

以下2点がYesになっていればOK

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

実行結果

Master側のデータがSlave側に反映されている。
f:id:kagasu:20210507211100g:plain