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のデータが文字化けすることに。