1. まとめトップ

wordpress引っ越し移転でmysqlエクスポート・インポート・データベース接続エラー

工程がひとつ進むたびにいちいち躓く、超絶素人による初めてのwordpress移転作業は、凄惨を極めるものでした。誰かの役に立てば。

更新日: 2015年05月05日

1 お気に入り 1271 view
お気に入り追加

この記事は私がまとめました

velikさん

私が初めてwordpressの移転をする上で、つまずいたポイントをメモします。
ちなみにドメインは変わらず、サーバーのみの引っ越しです。

躓きポイント1 mysqlがエクスポートできない

私の使っていたレンタルサーバーは「phpMyAdmin」ではなく、「DBManager [MySQL]」という謎のツールになっている。

データベースのエクスポート方法を検索すると、phpMyAdminによる方法しか出てこず、このDBManagerについてはwordpressのプラグイン「WP-DBManager」が出てくるだけで、求めていたものはただの一つも出てこなかった。

解決方法

wordpressの「WordPress Database Backup」というプラグインでwordpressの管理画面からgz形式でデータベースのバックアップを行った。

躓きポイント2 移転先のサーバーでMySQLに接続できない

移転方法を調べると、たいていのフロチャートは、

旧サーバー
データベースのエクスポート

wordpressをまるごとローカルにDownload

新サーバー
データベースのインポート

wordpressをアップロード

DNS切り替え

となっているが、DNS切り替え前の状態で新サーバーのphpMyAdminに接続できなかった。(旧サーバーのサイトが表示されてしまう)

解決方法

先にDNSを切り替えてひたすら待った(3日くらい)。
たまに新サーバーの方につながったと思ったら次の瞬間には旧サーバーになってたりして結構時間がかかった。

躓きポイント3 バックアップしたデータベースの容量が大きすぎてインポートできない

バックアップしたファイルのサイズをこの時初めて確認したが、gzファイルの容量が15M、sqlファイルは150Mとなっていた。
無理やりインポートしようとすると「504 Gateway Time-out」となってインポートできない。

解決策をググると「SSHのコマンドラインで直接インポート」とか「php.intを書き換えて上限サイズを上げる」とか、素人にはまず意味不明な内容ばかり。

解決方法

難易度の高いお題の中でようやく素人でもできそうな方法を発見。「bigdump.php」という謎のファイルを利用したやり方だ。
bigdump.phpダウンロードし、FTPで新サーバーの適当な場所にバックアップファイルとbigdump.phpをアップロード。
ブラウザでbigdump.phpを開き、そこから1クリックでバックアップファイルをインポート。

躓きポイント4 bigdump.phpによるインポートでエラー

ようやく光が見えたと思い、意気揚々とbigdump.phpからsqlファイルをインポートをしようとすると、開始1秒でエラー。
よくわからないが文字化けしてるっぽい。
エラー部分が表示されたが、ラテン文字だかアラビア文字だか分からない奇妙な文字が羅列されていた。(「ããããã」こんな感じ)
日本語部分は全部文字化けしてしまっているらしい。
文字コードなどを確認して再度インポートを試みるが、変化はなかった。

試しにgzファイルをインポートしてみたが、こちらはエラーで止まることはなかったが、データベース内を確認するとやはり文字化けしていた。

解決方法

素人のひらめき(単体で作ったデータベースはwordpress仕様ではないのではないか?もしかしてwordpressインストール時に自動で作られるデータベースならいけるのでは・・・もちろん根拠はない)で、新サーバーに単体で作ったデータベースを一旦削除。
新サーバーにてwordpressを1クリックインストールするときに自動で作られるデータベースを使ってみることに。

インストールが済んだあともう一度bigdump.phpでインポート(gzファイル)を試みた結果、見事文字化けもなくインポート完了。
完了後なんかエラーが出てたが、一部のプラグインだけっぽいので無視した。

躓きポイント5 データベース接続確立エラー

データベースのインポートが終了し、旧サーバーからまるごとダウンロードしておいたwordpress本体を、インストール済みのwordpressにFTPにて上書きアップロードした。
アップロードが完了し、ブラウザで管理画面を開こうとしたら
「データベースサーバーへ接続することはできましたが (ユーザー名とパスワードは正しいということです)、mysql データベースを選択することができませんでした。」
みたいなエラーが。
すかさず検索すると、「wp-config.php」の設定云々が出てくる。
何度も確認したし、間違っているはずがないのだが・・・。

解決方法

完全に自分のミス。
「IDもパスもコピペしたんだから間違っているはずがないだろう」という思い込み。
なんと、データベース名の右側に余計な半角スペースが入っていた。
これを取り除いたら無事サイトを開くことができるようになった。

1