大表ddl工具online-schema-change使用
生活随笔
收集整理的這篇文章主要介紹了
大表ddl工具online-schema-change使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
(1)下載安裝
online-schema-change屬于percona-toolkit程序包里面的一個工具, 需要下載安裝percona-toolkit程序包百度云盤下載地址:https://pan.baidu.com/s/1bp1OOgf yum install percona-toolkit-2.2.7-1.noarch.rpm -y(2)online-schema-change工具原理
創建一個和你要執行alter操作的表一樣的空表結構,執行表結構修改,然后從原表中copy原始數據到表結構修改后的表,當數據copy完成以后就會將原表移走,用新表代替原表,默認動作是將原表drop掉。在copy數據的過程中,任何在原表的更新操作都會更新到新表,因為這個工具在會在原表上創建觸發器,觸發器會將在原表上更新的內容更新到新表。如果表中已經定義了觸發器這個工具就不能工作了。(3)注意點
1、操作的表必須有主鍵或唯一索引否則報錯。 2、如果表有外鍵,除非使用 --alter-foreign-keys-method 指定特定的值,否則工具不予執行。 3、建議在業務低峰區使用 4、操作有風險, 建議提前備份數據 5、當是主從環境,不在乎從的延遲,則需要加--recursion-method=none參數。當需要盡可能的對服務產生小的影響,則需要加上--max-load參數。(4)常見操作
添加字段: pt-online-schema-change h=192.168.1.x,u=root,p=your_password,D=db_name,t=table_name --execute --alter "'add column col1_test int"修改字段: pt-online-schema-change h=192.168.1.x,u=root,p=your_password,D=db_name,t=table_name --execute --alter " 'MODIFY COLUMN col1_test TINYINT NOT NULL DEFAULT 0 "刪除字段: pt-online-schema-change h=192.168.1.x,u=root,p=your_password,D=db_name,t=table_name --execute --alter "drop column "參考文檔:https://www.cnblogs.com/janehoo/p/5382474.html
轉載于:https://blog.51cto.com/1000682/2356779
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的大表ddl工具online-schema-change使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 华为:每年全球拍摄照片超 1.4 万亿张
- 下一篇: tomcat的备份脚本