更改默认数据库连接池后服务启动不开

5685
8

--- 初学数据Lv2

发表于2018-8-21 11:40

悬赏10

已解决

楼主
本帖最后由 --- 于 2018-8-21 11:44 编辑

之前数据库默认连接池是oracle一切正常,今天更换成mysql,测试连接也正常,系统自动重启服务后发现启动不了,之后一直出现这个字节错误,说表索引创建异常,哪位大佬可以解决一下,拜托拜托拜托


系统小憩片刻...com.esen.jdbc.pool.PooledSQLException: 创建表索引:ES10_VFS
CREATE INDEX IES10_VFSDK4077 ON ES10_VFS(PARENTDIR_)
出现异常:Specified key was too long; max key length is 767 bytes

最近看过此主题的会员

esen_50TRJO1018

最佳答案
本帖最后由 数据观 于 2018-8-21 12:05 编辑

原因
MySQL的每个单表中所创建的索引长度是有限制的,且对不同存储引擎下的表有不同的限制。Mysql主键是用索引实现的,所以主键长度同索引长度;
数据库表采用utf8编码,其中varchar(255)的column进行了唯一键索引,而mysql默认情况下单个列的索引不能超过767位(不同版本可能存在差异)于是utf8字符编码下,255*3 byte 超过限制
一般情况下不建议使用这么长的索引,对性能有一定影响,建议删除该索引;

解决(也可百度下相关删除索引办法,以防误删,先备份一下哦)
1  使用innodb引擎;
2  启用innodb_large_prefix选项,将约束项扩展至3072byte;
3  重新创建数据库;
my.cnf配置:
default-storage-engine=INNODB
innodb_large_prefix=on

8个回答

只看楼主

数据观 数据小白Lv1

发表于2018-8-21 11:44

只看该作者

取消 关注该作者的回复

沙发

更换设置连接池的界面看一下呢?

--- 初学数据Lv2

发表于2018-8-21 11:48

只看该作者

取消 关注该作者的回复

板凳

数据观 发表于 2018-8-21 11:44
更换设置连接池的界面看一下呢?

界面打不开,报的就是帖子中的错误,oracle没事,但是今天把默认连接池换成mysql之后就打不开了

数据观 数据小白Lv1

发表于2018-8-21 11:40

只看该作者

取消 关注该作者的回复

地板

本帖最后由 数据观 于 2018-8-21 12:05 编辑

原因
MySQL的每个单表中所创建的索引长度是有限制的,且对不同存储引擎下的表有不同的限制。Mysql主键是用索引实现的,所以主键长度同索引长度;
数据库表采用utf8编码,其中varchar(255)的column进行了唯一键索引,而mysql默认情况下单个列的索引不能超过767位(不同版本可能存在差异)于是utf8字符编码下,255*3 byte 超过限制
一般情况下不建议使用这么长的索引,对性能有一定影响,建议删除该索引;

解决(也可百度下相关删除索引办法,以防误删,先备份一下哦)
1  使用innodb引擎;
2  启用innodb_large_prefix选项,将约束项扩展至3072byte;
3  重新创建数据库;
my.cnf配置:
default-storage-engine=INNODB
innodb_large_prefix=on

--- 初学数据Lv2

发表于2018-8-21 12:28

只看该作者

取消 关注该作者的回复

5#

数据观 发表于 2018-8-21 12:03
原因
MySQL的每个单表中所创建的索引长度是有限制的,且对不同存储引擎下的表有不同的限制。Mysql主键是用索 ...

默认引擎就是innodb,错的好像莫名其妙
抱歉,刚去吃饭了

数据观 数据小白Lv1

发表于2018-8-21 14:30

只看该作者

取消 关注该作者的回复

6#

--- 发表于 2018-8-21 12:28
默认引擎就是innodb,错的好像莫名其妙
抱歉,刚去吃饭了

没解决吗?约束项也扩展了吗?

--- 初学数据Lv2

发表于2018-8-21 14:36

只看该作者

取消 关注该作者的回复

7#

数据观 发表于 2018-8-21 14:30
没解决吗?约束项也扩展了吗?

dalao,看下私信

辰哥 管理员

发表于2018-8-30 10:21

只看该作者

取消 关注该作者的回复

8#

亲爱的薏米,你的问题解决没有?

--- 初学数据Lv2

发表于2018-9-10 13:45

只看该作者

取消 关注该作者的回复

9#

辰哥 发表于 2018-8-30 10:21
亲爱的薏米,你的问题解决没有?

解决了,是BI里面的文件配置错了

登录后可回答问题,请登录注册

快速回复 返回顶部 返回列表

小时

全天响应

分钟

快速处理问题

工程师强势助力

明星产品
解决方案
联系合作

400咨询:400-0011-866

技术支持QQ:400-0011-866(工作日9:00-18:00)

产品建议邮箱yixin@esensoft.com

关注我们

扫TA学习更多干货

一对一专家交流

版权所有© 2006-2024 北京亿信华辰软件有限责任公司 京ICP备07017321号 京公网安备11010802016281号