您好,登錄后才能下訂單哦!
參數 | 默認值 | 說明 |
---|---|---|
--host=xxx --user=xxx --password=xxx | 連接實例信息,縮寫-h xxx -u xxx -p xxx,密碼可以使用參數--ask-pass 手動輸入。 | |
--alter | 結構變更語句,不需要 ALTER TABLE關鍵字。與原始ddl一樣可以指定多個更改,用逗號分隔。 | |
D=db_name,t=table_name | 指定要ddl的數據庫名和表名 | |
--max-load | 默認為Threads_running=25。每個chunk拷貝完后,會檢查 SHOW GLOBAL STATUS 的內容,檢查指標是否超過了指定的閾值。如果超過,則先暫停。這里可以用逗號分隔,指定多個條件,每個條件格式: status指標=MAX_VALUE或者status指標:MAX_VALUE。如果不指定MAX_VALUE,那么工具會這只其為當前值的120%。 | |
--max-lag | 默認1s。每個chunk拷貝完成后,會查看所有復制Slave的延遲情況(Seconds_Behind_Master)。要是延遲大于該值,則暫停復制數據,直到所有從的滯后小于這個值。--check-interval配合使用,指定出現從庫滯后超過 max-lag,則該工具將睡眠多長時間,默認1s,再檢查。如--max-lag=5 --check-interval=2。 | |
--chunk-time | 默認0.5s,即拷貝數據行的時候,為了盡量保證0.5s內拷完一個chunk,動態調整chunk-size的大小,以適應服務器性能的變化。 | |
--set-vars | 使用pt-osc進行ddl要開一個session去操作,set-vars可以在執行alter之前設定這些變量,比如默認會設置--set-vars "wait_timeout=10000,innodb_lock_wait_timeout=1,lock_wait_timeout=60"。 | |
--dry-run | 創建和修改新表,但不會創建觸發器、復制數據、和替換原表。并不真正執行,可以看到生成的執行語句,了解其執行步驟與細節,和--print配合最佳。。 | |
--execute | 確定修改表,則指定該參數。真正執行alter。–dry-run與–execute必須指定一個,二者相互排斥 |
1.絕大部分情況下表上需要有主鍵或唯一索引,因為工具在運行當中為了保證新表也是最新的,需要舊表上創建 DELETE和UPDATE 觸發器,同步到新表的時候有主鍵會更快。個別情況是,當alter操作就是在c1列上建立主鍵時,DELETE觸發器將基于c1列。
pt-online-schema-change --user=user --password=password --host=10.0.201.34 --alter "ADD COLUMN f_id int default 0" D=confluence,t=sbtest3 --print --execute
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。