movabletypeのmysql server変更

movabletypeのmysql server変更
oldserver -> newserverへ変更する.
どちらもsargeでmysql 4.1.11が動いている.
すぐに終わるだろうと思ったら,結局半日かかったので後学のためにメモ.
■movabletypeの変更
…/mt-config.cgiの次の行を変更
DBHost oldserver
->
DBHost newserver
■mysqlデータベースの移行
$ mysqldump -u ユーザ名 -p movabletype_db > “(絶対パスで)/movabletype_db”
Enter password:
これで終わると思ったら,…
movabletypeでログインしようとすると次のエラーメッセージが出る.
「データの設定中に以下のエラーが発生しました:
Bad ObjectDriver config: Connection error:
Client does not support authentication protocol requested by server; consider upgrading MySQL client」
これは,mysqlのユーザ認証の問題.
oldserverでも設定していたはずですが,すっかり忘れていました.
参考: http://movabletype.wablog.com/22.html
newserverのmysqlを次のように設定.
mysql> use mysql
Database changed
mysql> UPDATE user SET Password = OLD_PASSWORD(‘パスワード’)
-> WHERE Host = ‘ホスト名’ AND User = ‘ユーザ名’;
Query OK, 0 rows affected (0.xx sec)
Rows matched: 0 Changed: 0 Warnings: 0
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.xx sec)
さあこれでログインできました.
ところが文字化けです.mysqlの文字コードはoldserverとnewserverでは同じなのに…
結果,mysqldumpが強制的に文字コードをutf8に変換してしまうためでした.
しかも –set-character=ujis とか効かないし…
/etc/mysql/my.confのmysqldumpセクションを書き換えて文字コードを変更する.
参考: http://www.mysql.gr.jp/frame/modules/bwiki/?FAQ#content_1_41
[mysqldump]
default-character-set=binary
set-charset
バックアップ,リストアする.
oldserver# mysqldump -u ユーザ名 -p movabletype_db > “(絶対パス)/movabletype_db”
Enter password:
movabletype_dbをnewserverへコピーして,
newserver# mysql movabletype_db -u miyajima -p < movabletype_db Enter password: これで完了しました. mysqlの文字コードについての参考 http://wota.jp/ac/?date=20061011