mysqldumpでwordpressのデータベースのホストを変更

今まで、blogのデータベースをAmazon AWSのRDSでやってたんだけど、大して使わない割に請求金額がそこそこなので、EC2上に普通にMySQLサーバを立てて、そっちのデータベースサーバーを参照するようにした。

ところが、DB情報を記載した wp-config.phpをいじっただけではもちろんダメで、

/** MySQL のホスト名 */
#define('DB_HOST', 'mydbinstance.XXXXXXXXXXXXX.rds.amazonaws.com');
define('DB_HOST', 'localhost');

空のDBを参照しているので、完全に最初の状態、何の設定も記事もない状態に。

あらかじめ、Wordpressのエクスポートツールで出力したデータをインポートしてみたもののなぜか失敗。

記事自体は大した数を書いてなかったので、まぁ最初からでもいいや…と思いきや、各種設定やプラグインFacebook連携のセットなどなどはとてつもなく面倒で、しかも参考にするべき記事も既に消えた状態…

結論から言うと、元のデータベースにあった情報をまるごと出力して、それを何もない最初の状態の新しいDBサーバに入力することで、上手くいった。

まず新しい方のMySQLサーバで、dbuserとwordpress データベースを作成し、こちらの記事を参考に出力と入力を行った。

"MySQLのデータインポート・エクスポート - Qiita"

% mysqldump -h mydbinstance.XXXXXXXXXXXXXXXXX.rds.amazonaws.com --port XXXX wordpress -r SQLWordpress -u dbuser -p
% mysql -u dbuser -p XXXXXXXX wordpress < SQLWordpress

wordpressの設定も記事も何もかも元の状態に。よかったよかった。