MariaDB/MySQLでGTIDを使用してレプリケーションをする方法 その1

投稿者: | 2016年3月15日

■ 前提条件

[Server IDの設定]
マスターとスレーブのサーバーがそれぞれ一意のserver-idを持っている必要があるので下記のような設定をしておく。値はサーバーのIPの第4オクテットの値でも設定しておけばいいと思う。

# vi /etc/my.cnf.d/server.cnf

server-id = xxx

[binlogの設定]
レプリケーションを使用するためにBinlogが有効になっていないといけないので下記のような設定をしておく。

# vi /ect/my.cnf.d/server.cnf

# BINARY LOGGING #
log_bin = /var/lib/mysql/mysql-bin
expire_logs_days = 14
sync_binlog = 1

■ 非同期レプリケーションをする場合の設定

この設定例では、マスターサーバーもスレーブサーバーになれる準備をしておく。

[マスターサーバーでの作業]
マスターサーバーでは安全のためにスレーブの起動を止める設定を入れておく。

# vi /etc/my.cnf.d/server.cnf

# Replication #
skip-slave-start

DBサーバーにログインする。

$ mysql -u root -p

スレーブからのアクセスに必要なアカウントの作成をする。

> GRANT REPLICATION SALVE ON *.* TO ‘ユーザー名’@’IP(スレーブサーバー)’ IDENTIFIED BY ‘パスワード’;

アカウントの反映をする。

> flush privileges;

DBサーバーからログアウトする。

> quit

[スレーブサーバーでの作業]
DBサーバーにログインする。

$ mysql -u root -p

マスターサーバーをスレーブにした場合のアクセスに、必要なアカウントの作成をする。

> GRANT REPLICATION SALVE ON *.* TO ‘ユーザー名’@’IP(マスターサーバー)’ IDENTIFIED BY ‘パスワード’;

アカウントの反映をする。

> flush privileges;

レプリケーションを開始する。

> CHANGE MASTER TO master_host=’IP(マスターサーバー)’, master_port=3306, master_user=’ユーザー名’, master_password=’パスワード’, master_use_gtid=current_pos;
> start slave;

レプリケーションが正常に動いているか確認する。

> SHOW SLAVE STATUS\G

DBサーバーからログアウトする。

> quit

MariaDB/MySQLでGTIDを使用してレプリケーションをする方法 その2


コメントを残す

メールアドレスが公開されることはありません。

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください