Replication基礎(七) 複製引數簡介.md
簡介
本文只是複製引數的一個簡單介紹,而針對每一種或者沒一類相關的引數,都需要一篇文章來詳細描述。本文不包含半同步複製引數
log_slave_updates
控制從例項在回放主例項資料時,是否也寫binlog,預設為false,不寫binlog日誌,並且不能動態修改。
log_slow_slave_statements
控制從例項在回放時,是否記錄超過 long_query_time的sql語句。預設為關閉,可以動態修改,但是必須重啟複製。
master_info_repository
控制MySQL儲存連結資訊,執行到的master binlog+pos資訊的儲存方式,預設是將這些資訊儲存在檔案中,也可以儲存在mysql.slave_master_info表中 如下:
mysql> select * from slave_master_info\G *************************** 1. row *************************** Number_of_lines: 25 Master_log_name: mysql-bin.000428 Master_log_pos: 322293772 Host: 127.0.0.1 User_name: repl User_password: repl Port: 13307 Connect_retry: 60 Enabled_ssl: 0 Ssl_ca: Ssl_capath: Ssl_cert: Ssl_cipher: Ssl_key: Ssl_verify_server_cert: 0 Heartbeat: 15 Bind: Ignored_server_ids: 0 Uuid: 1a4c1d12-7695-11e7-a1b6-ecf4bbea6648 Retry_count: 86400 Ssl_crl: Ssl_crlpath: Enabled_auto_position: 1 Channel_name: master_13307 Tls_version:
slave_compressed_protocol
控制主從複製過程中,是否開啟日誌傳輸壓縮的功能,預設是關閉的,特別注意的是,在5.7.19之前,開啟這個引數,會影響半同步複製的正常功能。
slave_exec_mode
控制主從複製出現錯誤時的處理方式,模式是STRICT,即嚴格模式。還有IDEMPOTENT,會忽略掉主鍵衝突,或者找不到相關值的錯誤,線上必須使用STRICT模式。
slave_load_tmpdir
控制主從複製過程中從機產生的臨時檔案的位置,預設是和資料庫的tmpdir相同。比如在master執行load data infile命令時,如果使用的是statement格式的日誌,則會產生臨時檔案。
slave_max_allowed_packet
從例項允許接收的最大的binlog event的大小,增長間隔為1023 byte,預設大小為1073741824
slave_net_timeout
slave例項用來檢測master是否宕機,或者主從之間的網路是否異常,這個引數必須比主從複製的心跳設定要長,不然在寫入不頻繁的主從複製關係中,從機會經常報錯。
slave_parallel_type
mysql支援基於庫和基於邏輯時間戳的並行複製模式。
slave_parallel_workers
控制並行複製時的sql回放執行緒數。
slave_pending_jobs_size_max
此引數用於控制在多執行緒回放時,每一個sql執行緒的回放佇列的binlog event大小。
slave_preserve_commit_order
此引數控制從機在進行多執行緒回放時,binlog的提交是否嚴格按照其在主庫上的提交順序,預設是關閉,可以提高從機回放的效率,但是線上建議開啟。
slave_rows_search_algorithms
在基於行格式的主從複製中,從機選擇什麼樣的演算法來匹配資料,預設為TABLE_SCAN,INDEX_SCAN
.
slave_skip_errors
控制從例項sql回放過程中,跳過的錯誤型別,預設關閉,不跳過任何錯誤。可選引數比如all
,ddl_exist_errors
等。
slave_sql_verify_checksum
控制從例項sql回放時,是否去驗證binlog event的checksum值是否正確。預設開啟。
slave_transaction_retries
當sql回放遇到死鎖或者鎖等待超時時,重新執行的次數。
slave_type_conversions
控制主從複製過程中的型別轉換,空值代表,如果發現主從的表結構不一致,則報錯,ALL_LOSSY: 允許資料截斷;ALL_NON_LOSSY: 不允許資料截斷,如果從庫型別大於主庫型別,是可以複製的,翻過了,就不行了,從庫報復制錯誤,複製終止;ALL_LOSSY,ALL_NON_LOSSY: 所有允許的轉換都會執行,而不管是不是資料丟失;