1. 程式人生 > >Replication基礎(七) 複製引數簡介.md

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: 所有允許的轉換都會執行,而不管是不是資料丟失;