当从库实例与主库实例使用不同端口,或者配置了延迟复制从库(不需要检查延迟时间)时,需要用 dsn 方式手工指定需要检测复制延迟的从库信息。
CREATE TABLE test.dsns (
`id` int(11) NOT NULL AUTO_INCREMENT,
`parent_id` int(11) DEFAULT NULL,
`dsn` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
);
INSERT INTO test.dsns(dsn) VALUES ("h=172.18.3.221,P=18251");
INSERT INTO test.dsns(dsn) VALUES ("h=172.18.3.46,P=18255");
pt-online-schema-change \
--host="172.18.3.162" \
--port=18251 \
--user="wxy" \
--password="123456" \
--charset="utf8mb4" \
--chunk-size=10000 \
--recursion-method=dsn=t=test.dsns \
--check-interval=10s \
--max-lag=60s \
--nocheck-replication-filters \
--nocheck-unique-key-change \
--no-check-alter \
--critical-load="Threads_running=512" \
--max-load="Threads_running=256" \
D="test",t="t1" \
--alter="add column type smallint default 1 not null comment '类型,1为小视频,2为频道视频';" \
--progress=time,30 \
--execute