標籤:
centos mysql 實戰 第十一節課
第一個問題: 複製結構調整的Tips
A->B 怎麼變成
B->A
master 192.168.1.10
RAM 16G
Slave : 192.168.1.11
RAM: 32 G
就是把原來的Master的記憶體加到32G
原來的master引入一個vip
app : 192.168.1.10 :3306 ....
Vip: 192.168.1.20
把Vip綁定到原來的master上,再把程式改成新的Vip串連,會影響業務嗎?
master hostname: node1
那現在把我們的配置改成192.168.1.20
PHP程式 配置變更是不用重啟的
對前端的App重啟一台後,對業務會有影響嗎?
TCP斷線重連機制
無狀態,前端其中最少可以死掉一個節點,前端是一個叢集
增加資料庫的VIP這個過程可以做到對業務沒有影響的
node1: 1.10 , 1.20
|
node2: 1.11
是不是考慮把node1, node2做成雙主的結構
node1上執行的change master to 語句怎麼編寫?
雙主原理:因為如果發現master傳過來的binlog裡的serverid和自己一樣,就不執行
傳統複製
node2: 執行show master status;
node1: 根據上句話編寫出來change master to語句
兩個都設定log_slave_update
GTID複製
node2: 執行show master status;
node1: 根據上句話編寫出來change master to語句 auto-position
兩個都設定log_slave_update
如果給的切換條件是可以終斷業務30秒,資料要一致,可以怎麼做呢?
1. 前置準備
吳炳錫(82565387) 20:56:33
1.1 master vip unbind
1.2檢查 原來的master是否有串連及串連的處理 如果存在串連: 把那些串連全乾掉
select concat("kill ", id,";") from infomation_schema.processlist where user=‘xxx‘ into outfile ‘/tmp/1.sql‘;
source /tmp/1.sql;
1.3確認同步資料完畢
要求: slave.master_log_file= master.log_file
slave.read_master_pos = master.log_pos
理由上是資料是一致的
1.4 ssh slave vip bind
上面步驟,如果指令碼準備充分3秒就可以搞定了
現在業務是在node2支撐
怎麼讓node1從node2上同步呢
start slave ;就ok了,因為是雙主,所以機器重啟後直接start slave ;就ok,因為複製資訊儲存在masterinfo檔案
===============================
完美主義者
認為master不能有show slave status輸出
如果不想看到show slave status,那麼清掉記憶體reset slave all;
R_IP: real ip
如果是GTID的模型,能不能用VIP複製?
可以用
業務沒有任何問題的
傳統複製
M1 Start slave;
M2->(M1, S1)
f
centos mysql 實戰 第十一節課