数据库在线增加修改表,一般都是通过sql直接修改了,但是总感觉不妥,当数据量达到一定级别的时候,总会有踩坑的时候,在此记录一下一个好玩的工具 pt-online-schema-change。
效果:
1.安装工具。把下面语句一行一行执行完即可。
wget percona.com/get/percona-toolkit.tar.gz
tar -zvxf percona-toolkit.tar.gz
cd percona-toolkit-3.3.1/
yum install perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker
perl Makefile.PL
make
make install
perl Makefile.PL
2.执行使用
//执行该命令如果报错;可能需要安装下面的依赖,复制执行即可
pt-online-schema-change
yum -y install perl-Digest-MD5
3.修改表结构,此处更加自己的情况来
pt-online-schema-change --user=root --password=XXX --host=XXX P=58410,D=stg_xm,t=xcxmall_attr_copy1 --charset=utf8 --no-version-check --execute --alter "ADD COLUMN liu int(10) DEFAULT NULL"
大功告成,这样修改大表就稳了,不用担心锁表,因为他是无感知的过渡平滑修改。