MediaWiki SQLバックアップデータからの復元

MediaWiki
MySQL

MediaWikiですが、SQLデータでバックアップを取り、復元できるはずですが、日本語環境のUTF-8だと次のようなエラーが出て、バックアップが復元できない。

 エラー内容例
 ==================================== 
 実行した SQL:
 -- 
 -- テーブルのデータをダンプしています `archive`
 -- 
 -- --------------------------------------------------------
 -- 
 -- テーブルの構造 `categorylinks`
 -- 
 CREATE TABLE `categorylinks` (
 
 `cl_from` int( 8 ) unsigned NOT NULL default '0',
 `cl_to` varchar( 255 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL  default '',
 `cl_sortkey` varchar( 86 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL default '',
 `cl_timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ,
 UNIQUE KEY `cl_from` ( `cl_from` , `cl_to` ) ,
 KEY `cl_sortkey` ( `cl_to` , `cl_sortkey` ) ,
 KEY `cl_timestamp` ( `cl_to` , `cl_timestamp` )
 ) ENGINE = InnoDB DEFAULT CHARSET = utf8;
 MySQLのメッセージ: 
 #1071 - Specified key was too long; max key length is 1000 bytes
 =============================================

以下、ワークアラウンドとしてエラーの出た個所を256から変更
(SQLデータをテキストエディタで開いて直す)

 `cl_to` varchar(100) character set utf8 collate utf8_bin NOT NULL default '',
 `job_cmd` varchar(100) NOT NULL default '',
 `job_title` varchar(100) character set utf8 collate utf8_bin NOT NULL,
 `pr_type` varchar(100) NOT NULL,
 `pr_level` varchar(100) NOT NULL,

1.10.1でこのバグは治った、とリリースノートに書いてあるけど、実際に1.10.1でバックアップを取り、復元してみると、エラーは出現しないがWikiのデータが文字化けすることに。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です