not support xengine,if the default engine is xengine, gh-ost occurs: ERROR Error 1105: Unsupported collation on string indexed column hint
维护者通常 10 天内回复
还没有人认领这个 Issue。
评估
调研方向
首先复现报告中的 xengine 表定义,并跟踪产生不支持的排序规则错误的 changelog 表创建路径。检查 gh-ost 如何复制已建立索引的 String 列定义,然后验证对于此 schema,changelog 创建能够成功,且不会破坏受支持的 MySQL 引擎。
由索引模型根据 Issue 内容生成。
描述
root cause is xengine is not support ascii CHARACTER
mysql> CREATE TABLE _test_26_ghc ( id bigint(20) NOT NULL AUTO_INCREMENT, last_update timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, hint varchar(64) CHARACTER SET ascii NOT NULL, value varchar(4096) CHARACTER SET ascii NOT NULL, PRIMARY KEY (id), UNIQUE KEY hint_uidx (hint) ) ENGINE=xengine AUTO_INCREMENT=256 DEFAULT CHARSET=utf8mb4;
ERROR 1105 (HY000): Unsupported collation on string indexed column hint. Consider change to other collation (binary, gbk_bin, gbk_chinese_ci, latin1_bin, utf8_bin, utf8_general_ci, utf8mb4_0900_ai_ci, utf8mb4_bin, utf8mb4_general_ci).
mysql>
errors:
2025-09-28 15:13:46 INFO starting gh-ost 1.1.4
2025-09-28 15:13:46 INFO Migrating sbtest.test_26
2025-09-28 15:13:46 INFO inspector connection validated on xxxxx:3306
2025-09-28 15:13:46 INFO User has REPLICATION CLIENT, REPLICATION SLAVE privileges, and has ALL privileges on sbtest.*
2025-09-28 15:13:46 INFO binary logs validated on xxxxx:3306
2025-09-28 15:13:46 INFO Inspector initiated on xxxxx:3306, version 8.0.13
2025-09-28 15:13:46 INFO Table found. Engine=XENGINE
2025-09-28 15:13:46 INFO Estimated number of rows via EXPLAIN: 20
2025-09-28 15:13:46 INFO Master forced to be xxxxx:3306
2025-09-28 15:13:46 INFO log_slave_updates validated on xxxxx:3306
2025-09-28 15:13:46 INFO streamer connection validated on xxxxx:3306
[2025/09/28 15:13:46] [info] binlogsyncer.go:133 create BinlogSyncer with config {99999 mysql xxxxx 3306 dba false false false UTC true 0 0s 0s 0 false}
2025-09-28 15:13:46 INFO Connecting binlog streamer at mysql-bin.000005:1014
[2025/09/28 15:13:46] [info] binlogsyncer.go:354 begin to sync binlog from position (mysql-bin.000005, 1014)
[2025/09/28 15:13:46] [info] binlogsyncer.go:203 register slave for master server xxxxx:3306
[2025/09/28 15:13:46] [info] binlogsyncer.go:723 rotate to (mysql-bin.000005, 1014)
2025-09-28 15:13:46 INFO rotate to next log from mysql-bin.000005:0 to mysql-bin.000005
2025-09-28 15:13:46 INFO applier connection validated on xxxxx:3306
2025-09-28 15:13:46 INFO applier connection validated on xxxxx:3306
2025-09-28 15:13:46 INFO will use time_zone='+08:00' on applier
2025-09-28 15:13:46 INFO Examining table structure on applier
2025-09-28 15:13:46 INFO Applier initiated on xxxxx:3306, version 8.0.13
2025-09-28 15:13:46 INFO Dropping table sbtest._test_26_gho
2025-09-28 15:13:46 INFO Table dropped
2025-09-28 15:13:46 INFO Dropping table sbtest._test_26_ghc
2025-09-28 15:13:46 INFO Table dropped
2025-09-28 15:13:46 INFO Creating changelog table sbtest._test_26_ghc
2025-09-28 15:13:46 ERROR Error 1105: Unsupported collation on string indexed column hint. Consider change to other collation (binary, gbk_bin, gbk_chinese_ci, latin1_bin, utf8_bin, utf8_general_ci, utf8mb4_0900_ai_ci, utf8mb4_bin, utf8mb4_general_ci).
2025-09-28 15:13:46 ERROR Unable to create changelog table, see further error details. Perhaps a previous migration failed without dropping the table? OR is there a running migration? Bailing out
2025-09-28 15:13:46 INFO Tearing down inspector
2025-09-28 15:13:46 INFO Tearing down applier
2025-09-28 15:13:46 INFO Tearing down streamer
2025-09-28 15:13:46 FATAL Error 1105: Unsupported collation on string indexed column hint. Consider change to other collation (binary, gbk_bin, gbk_chinese_ci, latin1_bin, utf8_bin, utf8_general_ci, utf8mb4_0900_ai_ci, utf8mb4_bin, utf8mb4_general_ci).
- 主要语言
- Go
- 星标
- 13.6k
- 派生
- 1.4k
- 平均合并
- 9 天 19 小时
- 30 天内合并 PR
- 1
环境准备
- 提供 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
github/gh-ost 的其他 Issue
-
`--resume` without `--execute` drops the ghost table it correctly skipped altering可能已有人在做 @ajm188 于 55 天前认领。 未关闭
难度 2/5 1-3 小时 新手友好度 86/100
维护者通常 10 天内回复
-
[Suggestion] Apply simple validation to alter command可能已有人在做 @drkemp187 于 106 天前认领。 未关闭enhancement good first issue
难度 2/5 1-3 小时 新手友好度 64/100
维护者通常 10 天内回复
-
Migration hangs when --attempt-instant-ddl succeeds可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭
难度 4/5 3-5 天 新手友好度 30/100
维护者通常 10 天内回复
-
难度 4/5 3-5 天 新手友好度 42/100
维护者通常 10 天内回复
-
Atomic cut-over always fails on MySQL 9.1+: information_schema.processlist errors out (3854) while another session runs a non-BMP utf8mb4 statement可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭
难度 4/5 3-5 天 新手友好度 52/100
维护者通常 10 天内回复
相似的 Issue
-
难度 1/5 1 小时以内 新手友好度 85/100
prime-radiant-inc/evener#6325 ·
维护者通常 1 天内回复
-
team:library-maintainers
难度 2/5 1-3 小时 新手友好度 82/100
padok-team/burrito#1208 · 1 条评论 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 62/100
bazel-contrib/rules_go#4784 · 1 条评论 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 75/100
-
难度 2/5 1-3 小时 新手友好度 78/100
betterleaks/betterleaks#484 ·
维护者通常 1 天内回复