pt-online-schema-change 錯誤集 Wide character

e71hao發表於2022-09-06

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。

確實怎麼試驗都有錯誤的話,也有另外一個解決辦法:把 列所有中文註釋改成英文的。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30393770/viewspace-2913563/,如需轉載,請註明出處,否則將追究法律責任。

相關文章