さてさて、明日から仕事か…。
って、うだうだする時間が今日しかねぇのか。
MySQLの移行に再トライだ!
という訳で、サーバを立てたときにはかなわなかった、MySQLへの道を歩むことに。
根性オオオオオオォォォォォォォォォ!
1.MySQLのインストール
これは以前にやってあるが、おさらい。
MySQL公式ページからダウンロード。
取り敢えずMySQL5を選んで、解凍→インストール。
この辺はここを参照しました。
ユーザ設定して、データベース作って、ハイ終わり。
…これでは防備録にならないので、追記。
コマンドプロンプトからMySQLにログインし、管理者パスワードを設定する。
C:¥mysql¥bin > mysqladmin -u root password (設定したいパスワード)
rootでログインしたいときは、以下のように。
C:¥mysql¥bin>mysql -u root -p
Enter password: (さっき設定したパスワード)
次はPerl用のデータベースモジュールのダウンロード。
c:¥perl¥ > ppm
PPM > install DBI
PPM > install DBD-MySQL
データベースモジュールは、ここからあらかじめダウンロードしておくと吉(ActivePerl 5.8.x Build 8xx用)。
zipファイル名は、”DBI.zip”、”DBD-mysql.zip”だが、かなりのファイルがあるので、見つけるのに苦労します。
Perlモジュールのインストールが終わったら、おもむろにユーザーの設定とデータベースの作成をします。
先ほど書いたように、root権限でmysqlにアクセスしてから、
C:¥> mysqladmin -u(ユーザ名) -p(パスワード) create (データベース名) (-u や -p の後に空白無)
C:¥> mysql -u (ユーザ名) -p(パスワード) (-u の後に空白有、-p の後に空白無)
mysql> grant all privileges on *.* to (ユーザ名)@localhost IDENTIFIED by '(パスワード)';
mysql> quit
これでMySQLを使うユーザと、データベースが作成されたことになる。
参考:いと氏のHP
2.動くかな?
今回は既にBerkeleyDBを使っているので、取り敢えずMySQLのデータベースを使うように、MovableTypeの設定をいじってやる。
具体的には、mt-config.cgiを一部書き換えする。
milano氏のHPを参照しまくって…

このようにMySQLの使用を宣言。
次いでBerkeleyDBの使用ディレクトリをコメント行に。
DataSource ./db
↓
# DataSource ./db
そしていよいよ動作確認。
MovableType3.2に付属しているデータベース移行ツールを使う。
ブラウザから、
mt-db2sql.cgi
を呼び出して…(;゚∀゚)アヒャ
3.エラーの回避
今回も吐きやがったこのエラー。
Bad ObjectDriver config: Connection error: Client does not support authentication protocol requested by server; consider upgrading MySQL client
直訳すると、
『ObjectDriver設定不良:接続エラー:クライアントはサーバが要求した確認プロトコルをサポートしません;MySQLクライアントをアップデートしたことが原因と考えます』
…せやから何やねんヽ( `д´)ノ
と、ここで今日は珍しく頭が冴えていた。
エラーメッセージをそのままググってやったぜ!
このうち、ここにお世話になることに。
ふむふむ、
「パスワードのハッシュが、セキュリティを高めるために16バイト長から41バイト長に変更されたためだそうで、16バイト長のパスワードハッシュで運用を継続することになる。」
…分からん…orz
と、とにかく、やってみようじゃないの。
今回はMySQL5なので、修正するのはC:¥winnt¥my.ini。
テキストエディタで開いて、
[mysqld] の直下に追記する。
old-passwords
それとコマンドプロンプトから、MySQLに接続して、パスワードを変更。
mysql> use mysql
Database changed
mysql> UPDATE user SET Password = OLD_PASSWORD('自分のパスワード')
-> WHERE Host = 'ホスト名(サーバ機でやってるので、localhostでOK)' AND User = '自分のユーザ名';
Query OK, 0 rows affected (0.08 sec)
Rows matched: 0 Changed: 0 Warnings: 0
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.13 sec)
これだけ?これだけでいいの?
4.再トラーイ
ブラウザから、
mt-db2sql.cgiを実行。
カリカリカリとディスクのアクセス音。
…
おお〜!
キタ━━━━(゚∀゚)━━━━!!
データベース移行完了のメッセージが!
その後、BerkeleyDBのディレクトリ名を変更してもしかと動くので、ばっさりとBerkeleyDB用のディレクトリを削除して、一件落着。
ねんがんの
MySQLを
てにいれた!
(´ー`)y~~~ フゥー
追記:参考先はしみじみと難しかった…。