现在的位置: 首页 > 综合 > 正文

OPENFIRE+MYSQL5.6安装中遇见Specified key was too long; max key length is 767 bytes openfire处理办法

2018年02月10日 ⁄ 综合 ⁄ 共 731字 ⁄ 字号 评论关闭

推荐的安装OPENFIRE的文章:http://blog.csdn.net/ares1201/article/details/7737872

在这篇文章中,当你安装到第25步的时候,填写了相关的数据库配置之后,你点击下一步可能会出现(在MYECLIPSE的控制台中)

CREATE TABLE ofRoster (
  rosterID              BIGINT          NOT NULL,
  username              VARCHAR(64)     NOT NULL,
  jid                   VARCHAR(1024)   NOT NULL,
  sub                   TINYINT         NOT NULL,
  ask                   TINYINT         NOT NULL,
  recv                  TINYINT         NOT NULL,
  nick                  VARCHAR(255),
  PRIMARY KEY (rosterID),
  INDEX ofRoster_unameid_idx (username),
  INDEX ofRoster_jid_idx (jid)
);

报的异常是:

Specified key was too long; max key length is 767 bytes openfire

异常的意思是:你创建数据表的时候,你的字段索引总和超过了最大的767 BYTES,所以就创建不了ofRoster这张表,安装就不能进行到下一步。

解决办法:

修改OPENFIRE中的SQL语句:查找到路径  MYECLIPSE工作空间\openfire_src\target\openfire\resources\database

找到下面openfire_mysql.sql,查到到创建ofRoster表的SQL语句,修改VARCHAR后面的值,一般修改第二个JID的值,VARCHAR的总和不要超过767就可以了。

其他数据库如果也遇到这样的情况,在同样的文件夹中改对应的数据表就可以了。

抱歉!评论已关闭.