mysql5.7主從複製中重點參數配置詳解

mysql主從複製中重點參數配置詳解

mysql5.7主從複製中重點參數配置詳解


log-bin :

搭建主從複製,必須開啟二進制日誌

server-id:

mysql在同一組主從結構中的唯一標識,各個服務器必須不同

server-uuid:

從mysql5.6開始有了該參數,在數據庫啟動過程中自動產生,每個機器都不一樣, uuid存放在auto.cnf文件中

read only

設置從庫只讀狀態,避免在從庫上寫操作,但該指令對超級管理員是無效的,mysql5.7增加了一個新的參數super_read_only,該參數使得超級管理員也無法進行寫操作。

binlog_format:

二進制日誌的格式,這裡必須是row模式

log_slave_updates:

將從主庫獲得的變更信息在重新寫入從庫的binlog日誌中。

log_error_action:

該參數用來控制當不能寫binlog文件時候,mysql將會怎麼樣,該參數是mysql5.7之後新增的。有abort_server 和 ignore_error, abor_server代表當mysql在寫binlog時候遇到磁盤慢或文件系統不可用時退出;而ignore_error 則表示遇到binlog無法寫入時候,mysql會在錯誤日誌中記錄錯誤,並且還會強制關閉binlog功能,這樣會影響從庫從主庫上獲取日誌的功能,導致主從庫數據不一致,mysql5.7之後默認使用abort_server

binlog-do-db:

使用該參數可選擇性複製數據庫(主庫上設置),如binlog-do-db=ceshi,則意味著只同步ceshi庫,其他庫是不進行復制同步的。

gtid_mode:

決定gtid模式是否開啟,如果使用gtid複製模式,則必須 gtid_mode=on

enforce-gtid-consistency:

使用gtid模式時候,要開啟該參數,保證gtid的一致行enforce-gtid-consistency=on

gtid_next

該參數是session級別的變量,下一個gtid。默認值是automatic

gtid_purged:

丟棄的gtid

relay_log:

記錄從主庫的I/O dump thread過來binlog內容

replicate_do_table:

只複製指定的表,在從庫上使用

replicate_ignore_table:

需要在複製中忽略的表,在從庫上設置使用

replicate_ignore_db:

忽略複製的庫,從庫上設置使用

replicate_do_db:

只進行復制的庫,從庫上設置使用

replicate_wild_do_table:

使用通配符指定需要複製的表,如zs庫下tt開頭的表,則為

--replicate_wild_do_table=zz.tt%

replicate_wild_ignore_table:

使用通配符指定需要忽略的表

master_info_repository:

把master.info(主從狀態,配置信息)記錄下來,默認記錄到file裡面,建議使用表記錄

master_info_repository=table

relay_log_recovery:

為了讓從庫是crash safe的必須要設置relay_log_recovery=1,該參數的的含義是:當從庫發生崩潰或重啟時,它會把那些為做完的中繼日誌刪除,並向主庫重新獲取日誌,再次產生中繼日誌的恢復,建議在從庫上開啟relay_log_recovery參數,默認是關閉的

relay_log_purge:

清除已經執行過的relay log,建議從庫上開啟

slave_net_timeout:

該參數是設置多少秒沒從主庫上獲得binlog之後,從庫認為是超時,從庫 I/O thread會重新連接主庫,該值從mysql5.7.7開始默認值是60s

slave_parallel_type:

該參數從msyql5.7.2引入的,有兩個值,一個是database,另一個是logical_clock,在mysql5.7之後引入了基於組提交的並行複製,通過設置參數 slave_parallel_workers>0 並且slave_parallel_type='LOGICAL_CLOCK'實現

slave_parallel_workers:

設置多個進程來併發的執行relay log中主庫提交的事務,最大值為1024


分享到:


相關文章: