activiti 创建23张表报错,Specified key was too long; max key length is 1000 bytes
错误代码: Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Specified key was too long; max key length is 1000 bytes
原因: activiti在MySQL中对表建立索引时,key的长度超过1000 bytes了,由于MySQL默认使用MyISAM engine,而MyLSAM引擎会有key长度的限制, 超过1000bytes就会报错,所以要将Mysql引擎修改为Innodb。
查看mysql情况: SHOW ENGINES
结果:
结果:
Engine Support Comment Transactions XA Savepoints
------------------ ------- -------------------------------------------------------------- ------------ ------ ------------
PERFORMANCE_SCHEMA YES Performance Schema NO NO NO
MyISAM DEFAULT MyISAM storage engine NO NO NO
MRG_MYISAM YES Collection of identical MyISAM tables NO NO NO
MEMORY YES Hash based, stored in memory, useful for temporary tables NO NO NO
InnoDB NO Supports transactions, row-level locking, and foreign keys (NULL) (NULL) (NULL)
FEDERATED NO Federated MySQL storage engine (NULL) (NULL) (NULL)
CSV YES CSV storage engine NO NO NO
BLACKHOLE YES /dev/null storage engine (anything you write to it disappears) NO NO NO
ARCHIVE YES Archive storage engine NO NO NO
在mysql中查询
show VARIABLES like 'have_innodb'
DISABLED:INNODB引擎已存在但未启用。
YES: 已启用INNODB。
NO :未安装INNODB。
接下来处理Mysql数据库不支持InnoDB问题及解决办法:
打开mysql配置文件,找到 skip-innodb项,将其改成#skip-innodb,之后重启mysql服务即可
备注:mysql的配置文件是/etc目录下的my.cnf文件 ,windows 下面是my.ini