ブログ - ERROR 1071 (42000): Specified key was too long; max key length is 1000 byte
ERROR 1071 (42000): Specified key was too long; max key length is 1000 byte
- カテゴリ :
- PC » Raspberry Pi
- ブロガー :
- ujpblog 2018/9/10 0:32
XOOPS Tenに,xpwikiをインストールしようとしているのだけれど,どうしても失敗する.
xpwikiのsqlディレクトリ配下にあるmysql.sqlを実行してみる.
いくつかのテーブルで,次のようにエラーがでていた.
キーの最大長が1000バイトだけれどそれを超えているよって.ちょっと大変そうだな...
とりあえず,データベースエンジンをMyISAMからInnodbに変更することで対応できた.
xoops_trust_path/modules/xpwiki/sqlにあるSQLファイルを変更.
モジュールインストール ログ
ブロック MenuBar (xpwiki) をインストールしました
ブロック 付箋機能 (xpwiki) をインストールしました
ブロック イベント通知 (xpwiki) をインストールしました
ブロック ページ表示 (xpwiki) をインストールしました
コンフィグ comment_dirname を追加しました
コンフィグ comment_forum_id を追加しました
コンフィグ comment_order を追加しました
コンフィグ comment_view を追加しました
コンフィグ comment_posts_num を追加しました
コンフィグ notification_enabled を追加しました
コンフィグ notification_events を追加しました
コールバック 'xoops_module_install_xpwiki' を実行することができませんでした
xpwiki モジュールのインストールに失敗しました
Force Uninstallation is started.
SQL file found at /www/ipaccess/xoops_trust_path/modules/xpwiki/sql/mysql.sql. Deleting tables...
Table IPACCESSDB__xpwiki_attach dropped.
Table IPACCESSDB__xpwiki_cache dropped.
Table IPACCESSDB__xpwiki_count dropped.
ERROR: Could not drop table IPACCESSDB__xpwiki_pginfo.
ERROR: Could not drop table IPACCESSDB__xpwiki_plain.
ERROR: Could not drop table IPACCESSDB__xpwiki_rel.
ERROR: Could not drop table IPACCESSDB__xpwiki_tb.
ERROR: Could not drop table IPACCESSDB__xpwiki_alias.
root@raspberrypi:/www/ipaccess/xoops_trust_path/modules/xpwiki/sql# ls -la🆑
合計 12
drwxr-xr-x 2 pi pi 4096 9月 9 23:00 .
drwxr-xr-x 17 pi pi 4096 9月 9 23:00 ..
-rw-r--r-- 1 pi pi 3613 9月 9 23:00 mysql.sql🈁
root@raspberrypi:/www/ipaccess/xoops_trust_path/modules/xpwiki/sql#
MariaDB [IPACCESSDB]> CREATE TABLE `pginfo` (
-> `pgid` int(11) NOT NULL auto_increment,
-> `name` varchar(255) binary NOT NULL default '',
-> `title` varchar(255) NOT NULL default '',
-> `buildtime` int(11) NOT NULL default '0',
-> `editedtime` int(11) NOT NULL default '0',
-> `uid` mediumint(8) NOT NULL default '0',
-> `ucd` varchar(12) NOT NULL default '',
-> `uname` varchar(255) NOT NULL default '',
-> `freeze` tinyint(1) NOT NULL default '0',
-> `einherit` tinyint(1) NOT NULL default '3',
-> `eaids` text NOT NULL default '',
-> `egids` varchar(255) NOT NULL default '',
-> `vinherit` tinyint(1) NOT NULL default '3',
-> `vaids` text NOT NULL default '',
-> `vgids` varchar(255) NOT NULL default '',
-> `lastuid` mediumint(8) NOT NULL default '0',
-> `lastucd` varchar(12) NOT NULL default '',
-> `lastuname` varchar(255) NOT NULL default '',
-> `update` tinyint(1) NOT NULL default '0',
-> `reading` varchar(255) binary NOT NULL default '',
-> `name_ci` varchar(255) NOT NULL default '',
-> `pgorder` float NOT NULL default '1',
-> PRIMARY KEY (`pgid`),
-> UNIQUE KEY `name` (`name`),
-> KEY `uid` (`uid`),
-> KEY `name_ci` (`name_ci`),
-> KEY `editedtime` (`editedtime`),
-> KEY `freeze` (`freeze`),
-> KEY `egids` (`egids`),
-> KEY `vgids` (`vgids`),
-> KEY `eaids` (`eaids`(255)),
-> KEY `vaids` (`vaids`(255)),
-> KEY `vids` (`vaids`(200),`vgids`(133))
-> ) ENGINE=MyISAM;
ERROR 1071 (42000): Specified key was too long; max key length is 1000 bytes🈁
MariaDB [IPACCESSDB]>
とりあえず,データベースエンジンをMyISAMからInnodbに変更することで対応できた.
前:ENGINE=MyISAM;
後:ENGINE=Innodb;