溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

MySQL 8.0.11 innodb cluster 運維管理手冊之三增加節(jié)點

發(fā)布時間:2020-06-08 13:12:20 來源:網(wǎng)絡(luò) 閱讀:11879 作者:qingduyu 欄目:MySQL數(shù)據(jù)庫

MySQL 8.0.11 innodb cluster 運維管理手冊之三 增加節(jié)點

作者 方連超

假設(shè)
innodb cluster集群跑了1年,突然某個節(jié)點掛掉了,這個時候,日志也已經(jīng)沒有binlog.000001了,如果在線增加一個從庫呢,官方給出基于mysqlbackup
的恢復(fù)方式,在剩余從庫上做備份,在新從庫上恢復(fù),這里有些技術(shù)點,我忽略了,苦惱很久。

創(chuàng)建實驗環(huán)境:

  1. 頻繁操作數(shù)據(jù)寫入庫,切換四個binlog。flush logs , show binary logs
    MySQL 8.0.11 innodb cluster 運維管理手冊之三增加節(jié)點
    MySQL 8.0.11 innodb cluster 運維管理手冊之三增加節(jié)點

  2. 觀察從庫日志時間信息
    從庫1的binlog 和 relay-log
    MySQL 8.0.11 innodb cluster 運維管理手冊之三增加節(jié)點

MySQL 8.0.11 innodb cluster 運維管理手冊之三增加節(jié)點

從庫2的binlog 和relay-log
MySQL 8.0.11 innodb cluster 運維管理手冊之三增加節(jié)點

MySQL 8.0.11 innodb cluster 運維管理手冊之三增加節(jié)點

可以看到,主庫切換日志,從庫并不進(jìn)行切換

  1. 清理掉第1,2個binglog,再寫入一些數(shù)據(jù),
    PURGE MASTER LOGS TO 'binlog.000003';

  2. 此時一個從庫掛掉了,重啟主機(jī)
  3. 主庫繼續(xù)人工寫入數(shù)據(jù),發(fā)現(xiàn)從庫掛掉了,需要添加

步驟1 全量備份:

mysqlbackup --host=127.0.0.1 --port=3310 --user=backup --password=$$$$$$$$  --no-history-logging --backup-dir=/data/backup/fullbak   --with-timestamp backup-and-apply-log

--no-history-logging 因為 在從庫操作,不能寫備份信息到數(shù)據(jù)庫中

步驟2:拷貝到新從機(jī)恢復(fù)從庫

備份壓縮拷貝到從機(jī),并解壓

scp root@192.168.181.105:/data/backup/fullbak/2018-07-25_14-32-32.tar.gz .
tar -xzvf 2018-07-25_14-32-32.tar.gz

拷貝活著的從庫的配置文件,修改組復(fù)制部分的信息

步驟3:繼續(xù)往主庫插入數(shù)據(jù)

步驟4:恢復(fù)新增實例

恢復(fù)從庫數(shù)據(jù)庫
mysqlbackup --defaults-file=/data/mysql_3310_test/conf/my.cnf --backup-dir=/data/backup/fullbak/2018-07-26_20-59-35 copy-back-and-apply-log

步驟5:清理舊信息

關(guān)閉日志記錄:

set sql_log_bin=off;
use mysql
delete from slave_relay_log_info ;
delete from slave_master_info ;
set  sql_log_bin=on;

注意這里不能執(zhí)行
Reset master 和reset slave

Drop database mysql_innodb_cluster_metadata

重啟一次數(shù)據(jù)庫,應(yīng)該沒有報錯了

步驟6 shell刪除和增加實例

強(qiáng)制刪除掛掉的實例
cluster.removeInstance('root@mysql4:3310',{force:1})

增加實例
cluster.addInstance('root@mysql4:3310')

踩坑記錄

組復(fù)制的增加成員方式和innodb cluster集群增加成員方式不同,

  • . 組復(fù)制 有reset master 和reset slave 操作,還包括了設(shè)置gtid的操作
    set @@GLOBAL.GTID_PURGED='80d2433f-8f24-11e8-a8df-000c29f1584d:123';

  • . Innodb cluster, 不能做 reset master ,因為記錄了備份庫執(zhí)行到的gtid 值,
    應(yīng)該使用 mysql shell 刪除和增加 實例
向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI