pt-online-schema-change 错误集 Wide character

1.  pt-online-schema-change 错误1 :字符集错误

pt-online-schema-change -uroot  -p123456  -S /data/test1_mysql/mysql.sock  --max-load="Threads_running=20"  --statistics --print --alter "modify  column remark varchar(20) NOT NULL DEFAULT '' COMMENT '备注'" D=stu,t=score --execute

Operation, tries, wait:

  analyze_table, 10, 1

  copy_rows, 10, 0.25

  create_triggers, 10, 1

  drop_triggers, 10, 1

  swap_tables, 10, 1

  update_foreign_keys, 10, 1

Altering `stu`.`score`...

Creating new table...

Error creating new table: Wide character in print at /bin/pt-online-schema-change line 10814.


Wide character in print 是perl在遇到字符集问题的时候报错。perl只能处理2种字符集:ascii和utf8,要修改的语句 modify  column remark varchar(20) NOT NULL DEFAULT '' COMMENT 'note' 列remark 注释是中文,报了上面错误。还有一种情况下,整个创建表语句有中文。

需要增加字符集参数 --charset=utf8,注意大小写。你写成--charset=UTF8, --charset=uTF8, --charset=UTF8mb4 , --charset=utf8mb4,都会报错wide character。

确实怎么试验都有错误的话,也有另外一个解决办法:把 列所有中文注释改成英文的。

请使用浏览器的分享功能分享到微信等