跨多个主机运行pt-online-schema-change

时间:2016-08-12 23:14:00

标签: mysql database percona

你怎么能跑这个?

/home/user/percona-toolkit-2.2.18/bin/pt-online-schema-change -uroot -ppass  
--nodrop-old-table D=production,t=inventory --host shard-db-a-[000-127]
--alter "ADD COLUMN TEST int(11) DEFAULT NULL; " --dry-run

显然--host只允许推送给一个主机。

对于多个hosts/shards,这个percona有没有选项?

1 个答案:

答案 0 :(得分:0)

你是对的,因为pt-o-s-c每次执行只接受一个主机。 未经测试,但这样的事情应该可以解决问题:

#!/bin/bash
for i in `seq -w 0 127`
do
  pt-online-schema-change -uroot -ppass \
  --no-drop-old-table D=production,t=inventory --host shard-db-a-${i} \
  --alter "ADD COLUMN test INT DEFAULT NULL" --dry-run
done