码迷,mamicode.com
首页 > 数据库 > 详细

MYSQL加字段之pt-online-change-schema

时间:2016-05-31 01:03:28      阅读:282      评论:0      收藏:0      [点我收藏+]

标签:

1, 安装dbd perl-io-socket-ssl percona-toolkit
yum list|grep DBD
yum list|grep Socket|grep SSL
 
yum -y install perl-DBD-MySQL.x86_64
yum -y install perl-IO-Socket-SSL.noarch
yum -y install "perl(Term::ReadKey)"
 
rpm -ivh percona-toolkit-2.2.17-1.noarch.rpm
 
2,查看字符集
show variables like ‘character%‘;
 
3, 开始添加字段:
pt-online-schema-change \
--user=root \
--password=‘1B1vfV@7%DP@hZUwGX4#‘ \
--host=127.0.0.1 \
--port=3306 \
--charset=utf8 \
--alter="add index idx_url_date (mg_url, mg_datetime)" \
D=spider,t=js_mogu_goods \
--exec \
--max-load Threads_running=1000 \
--critical-load="Threads_running:200"
 
相关参数:
--nodrop-old-table  不删除表
--max-load Threads_running=   超过此值将暂停
--critical-load Threads_running=  超过此值将停止
 
4,--alter-foreign-keys-method 的值可以为:auto、rebuild_constraints、drop_swap、none
1、当业务量较大时,修改操作会等待没有数据修改后,执行最后的rename操作。因此,在修改表结构时,应该尽量选择在业务相对空闲时,至少修改表上的数据操作较低时,执行较为妥当。
 
2、如果对外键表操作时,四种外键操作类型需要根据表的数据量和可靠程度,进行选择。处于可靠性的原因,尽量使用rebuild_constraints类型,如果没有可靠性要求,可以使用auto类型。
 
3、当--alter-foreign-keys-method=none时,外键索引将失效,需要重建外键索引,方可再次使用
 
4、由于可能存在一定的风险,在操作之前,建议对数据表进行备份,可以使得操作更安全、可靠。
 
 

MYSQL加字段之pt-online-change-schema

标签:

原文地址:http://www.cnblogs.com/tankt101/p/5544430.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!