系统运维

MySQL 扩展字段长度报错 Specified key was too long

时间:2010-12-5 17:23:32  作者:IT科技类资讯   来源:IT科技类资讯  查看:  评论:0
内容摘要:引言本文主要分析一套 MySQL 分库分表扩展字段长度时其中一个实例报错索引超长的案例,其中失败实例的版本是 5.7.21,而成功实例的版本都是 5.7.24。因此怀疑与版本有关,最终通过测试与分析判

引言

本文主要分析一套 MySQL 分库分表扩展字段长度时其中一个实例报错索引超长的展字案例,其中失败实例的段长度报版本是 5.7.21,而成功实例的展字版本都是 5.7.24。企商汇因此怀疑与版本有关,段长度报最终通过测试与分析判断是展字一个 bug,官方文档显示在 5.7.23 中修复。段长度报

现象

首先介绍三个案例,展字都是段长度报字段长度扩展时报错索引超长。免费源码下载

MySQL 扩展字段长度报错 Specified key was too long

案例 1

时间:2023-09-08 21:31:02

数据库版本:5.6.39

SQL 复制ALTER TABLE sign_bill_return_image_audit_result MODIFY COLUMN image_name VARCHAR(250) COMMENT 图片名称;1.2.

日志显示 pt-osc 执行期间报错索引长度超过 767。展字

复制EXECUTE START AT 2023-09-08 21:31:02 Error altering new table `station_manager`.`_sign_bill_return_image_audit_result_new`: DBD::mysql::db do 段长度报failed: Specified key was too long; max key length is 767 bytes [for Statement "ALTER TABLE `station_manager`.`_sign_bill_return_image_audit_result_new` MODIFY COLUMN image_name VARCHAR(250) COMMENT 图片名称;"] at /usr/bin/pt-online-schema-change line 9194. EXECUTE FAIL AT 2023-09-08 21:31:031.2.3.4.

查看表结构,显示字符集为 utf8mb4,展字索引类型为单列唯一索引,段长度报image_name 字段长度从 50 扩展到 250。展字

段长度报复制mysql> show create table station_manager.sign_bill_return_image_audit_result \G

热门排行
copyright © 2025 powered by 编程之道  滇ICP备2023006006号-34sitemap