仮想環境にVine4.0を入れてあるので、MySQL4.1へのデータ移行のテストと同時にWordPressのアップグレードのテストも行ってみました。
WordPress2.1自体のインストールはME版と代わりがないので、とりあえずは初期状態でインストール。その後バックアップしたデータをリストアする方法でどんな動作をするかを試してみました。
[u1@vmware wp-includes]# mysql -uroot -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 63 to server version: 5.0.27-standard Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> drop database wordpress; Query OK, 14 rows affected (0.01 sec) mysql> create database wordpress; Query OK, 1 row affected (0.00 sec) mysql> mysql> exit Bye [u1@vmware wp-includes]# mysql -uroot -p wordpress < wordpress_2007-01-26_04h02m.Friday.sql Enter password: ERROR 1071 (42000) at line 129: Specified key was too long; max key length is 1000 bytes [/code] [tegaki]orz[/tegaki] やはり一筋縄ではいかない模様。<code>Specified key was too long</code>でぐぐってみると、いくつか参考になりそうなサイトを発見。 <a href="http://forums.gentoo.org/viewtopic-t-392443.html">Gentoo Forums :: View topic - Stabilisation of dev-db/mysql-4.1.14</a>によると、どうも主キーの長さが1000バイトを越えているのが原因の模様。UTF8で計算されているから、超過してしまうのですね。実際に引っかかった箇所は、 [code]CREATE TABLE `wp_bdprss_items` ( `item_feed_url` varchar(240) NOT NULL default '', `item_url` varchar(255) NOT NULL default '', `item_name` varchar(255) NOT NULL default '', `ref_number` int(5) NOT NULL default '0', `text` text NOT NULL, `item_time` int(15) default NULL, `item_update_time` int(15) NOT NULL default '0', PRIMARY KEY (`item_feed_url`,`item_url`), KEY `feed_index` (`item_feed_url`), KEY `update_index` (`item_update_time`), KEY `time_index` (`item_time`) ) TYPE=MyISAM;
というような感じで、(240+255+255)*3=2250 ってことであっさりオーバー。CHARACTER SET latin1
を追加してやることで、解決するようなので、
CREATE TABLE `wp_bdprss_items` ( `item_feed_url` varchar(240) CHARACTER SET latin1 NOT NULL default '', `item_url` varchar(255) CHARACTER SET latin1 NOT NULL default '', `item_name` varchar(255) CHARACTER SET latin1 NOT NULL default '', `ref_number` int(5) NOT NULL default '0', `text` text NOT NULL, `item_time` int(15) default NULL, `item_update_time` int(15) NOT NULL default '0', PRIMARY KEY (`item_feed_url`,`item_url`), KEY `feed_index` (`item_feed_url`), KEY `update_index` (`item_update_time`), KEY `time_index` (`item_time`) ) TYPE=MyISAM;
としてやって、再度読み込ませてみたらエラーは消えますた。
あとはプラグインの動作チェックかな。
wp_pagenaviがページ数のカウントがおかしくなっていたけれど、2.1対応版が公開されていたので、交換したら解決。その他については、とりあえず動いているような感じかなぁ。
コメント