きぬろぐ
mediawikiのインストール作業ではまりました・・・
投稿者: kinusati, カテゴリー: コンピュータ
kinusatiです。
mediawiki-1.12.0をmysql-5.0.51aにインストールしようとしたら、テーブル作成エラーが発生した。
Creating tables…Query “CREATE TABLE `searchindex` ( si_page int unsigned NOT NULL, si_title varchar(255) NOT NULL default ”, si_text mediumtext NOT NULL, UNIQUE KEY (si_page), FULLTEXT si_title (si_title), FULLTEXT si_text (si_text) ) TYPE=MyISAM ” failed with error code “Column ‘si_title’ cannot be part of FULLTEXT index (localhost)”.
mysqlのdefaut-character-setをbinaryにしていたのが原因の模様。mediawikのインストール前にutf8でデータベースを作成することで解決した。
mysql> create database mediawikidb character set utf8;
mysql4.0 => 5.0へのデータ移行はつらい。。。
投稿者: kinusati, カテゴリー: コンピュータ
kinusatiです。
サーバ入れ替えに伴い、mysqlのバージョンを4.0.15から5.0.51aにバージョンアップし、ついでにデータ移行も行ってみました。ぐぐってみたところ、4.0系から5.0系へのデータ移行は大変と書いてあったのですが、確かにかなりつらいです!
以下にその方法を簡単に記述。
- 旧サーバでmysqldの停止
- 旧サーバから新サーバにmysqlデータファイルを転送
- 新サーバでデータを展開
- mysqldのdefault-character-setをbinaryに設定
- セキュリティ設定を無効化した上でmysqldを起動
- バージョンアップスクリプトを実行
- セキュリティ設定を有効にしてmysqldを再起動
- バージョンアップスクリプトでREPAIRが必要といわれたテーブルに対してREPAIRを実行
・・・長いです。詳細については以下の通り。
旧サーバでmysqldの停止
旧サーバはFreeBSD4.6で運用していたのですが、取り急ぎmysqldを停止させます。以下のコマンドを実行。
/usr/local/etc/rc.d/mysql-server.sh stop
旧サーバから新サーバにmysqlデータファイルを転送
旧サーバから新サーバにmysqlデータファイルを転送します。具体的には以下で実施。
cd /var/db/
tar cvzfp /var/tmp/mysql.tar.gz ./mysql
scp /var/tmp/mysql.tar.gz <新サーバ>