ユーザ用ツール

サイト用ツール


サイドバー

このページの翻訳:



最近の更新



Tag Cloud

01_linux:11_データベース:01_mysql:11_galera_sync

11 Galera同期(複数台構成)

Galeraで複数台構成を組んでいる状態で、1台同期が外れたので再同期。
または、新規にノード追加する場合。

今回は例として、下記の構成でnode2のMySQLがダウンしたと想定して説明。

node1192.168.0.11OK
node2192.168.0.12障害
node3192.168.0.13OK

1.稼働中のノードでフルバックアップ

[node1]# mkdir -p /backup/xtrabackup/base/
[node1]# innobackupex --galera-info --slave-info --safe-slave-backup --no-timestamp /backup/xtrabackup/base/

user/passwordを指定する場合

[node1]# innobackupex --user [root] --password [password] --galera-info --slave-info --safe-slave-backup --no-timestamp /backup/xtrabackup/base/

2.バックアップをコピー

[node2]# rsync -av 192.168.0.11:/backup/xtrabackup/base/ /backup/xtrabackup/base/

3.ログファイルを適応

[node2]# innobackupex --apply-log --redo-only /backup/xtrabackup/base/

4.Galera情報修正

xtrabackup_galera_infoを確認し、grastate.datを作成
ここをちゃんと合わせないと、wsrep_cluster_state_uuidが違うとかで正常に同期できない。

[node2]# cat /backup/xtrabackup/base/xtrabackup_galera_info
d38587ce-246c-11e5-bcce-6bbd0831cc0f:1352215
[node2]# vi /backup/xtrabackup/base/grastate.dat
# GALERA saved state
version: 2.1
uuid:    d38587ce-246c-11e5-bcce-6bbd0831cc0f
seqno:   1352215
cert_index:

5.データを戻す

mysqlのディレクトリにデータが残っていると、エラーになるので移動するか、削除する。
最後は、権限をmysqlへ変更する。

[node2]# rm -rvf /var/lib/mysql/*
[node2]# innobackupex --copy-back /backup/xtrabackup/base/
[node2]# chown -R mysql:mysql /var/lib/mysql/

6.起動・同期

[node2]# /etc/init.d/mysql start --wsrep_cluster_address="gcomm://192.168.0.11"

もしくは

下記でも同じ

[node2]# /etc/init.d/mysql start
[node2]# mysql
mysql> set global wsrep_cluster_address='gcomm://192.168.0.11';

7.確認

一部抜粋

mysql> show status like 'wsrep_%';
| wsrep_last_committed         | 1352215
| wsrep_cluster_size           | 3
| wsrep_cluster_state_uuid     | d38587ce-246c-11e5-bcce-6bbd0831cc0f

参考URL

01_linux/11_データベース/01_mysql/11_galera_sync.txt · 最終更新: 2019/07/25 13:06 by matsui