エックスサーバーで旧バージョンのMySQLデータベースから、最新バージョンのMySQLへの移行手順を解説いたします。
初めてMySQLを最新バージョンに移行する方にも不安ないように移行できることを心がけ、大量にスクショを撮りながら作業をしました!
自分の失敗も含め、備忘録のために残します。
Contents
MySQLデータベースを移行する前段階
2020年7月はじめの時点で、このサイト(西紺屋)は、MariaDB5.5(旧MySQL5.0)を使用していました。最新バージョンはMySQL5.7でしたので、移行することにいたしました。
エックスサーバーでは「MySQL移行ツール」があります。
MySQL移行ツールは、旧バージョンのMySQLデータベースについて、最新バージョンのMySQLへの移行を補助するツールのことです。
移行ツールを使って、最新バージョンに移行します。
今回は「MariaDB5.5」→「MySQL5.7」へ移行しましたが、最新バージョンへ移行する手順は同じです。
MySQLのバージョン、ユーザー名、パスワードを確認する
まずは、移行に必要な情報を集めます。
データベースを最新バージョンに移行したいサイトの
- データベース名
- ユーザー名
- パスワード
を確認します。
では、参りましょう。
1、サーバーパネルにログインします
エックスサーバーの「サーバーパネル」にログインしてください。

2、トップ画面が開きます

3、WordPress > WordPress簡単インストール を開きます

4、今までインストールしたWordPressの一覧が開く
確認したいサイトの
- MySQLデータベース名
- MySQLユーザー名
- MySQLパスワード
を確認して、メモを取っておく。

私は複数サイトを運営しているので、「どのデータベース」が「どのサイト」のものなのかを一覧表にしました。
ついでにURLもあるといい。
正常に動作を行えているのかデータベースを移行中に、サイトを確認するので。

文字コードを確認する
次にデータベースの文字コードを確認する必要があります。
WordPressを簡単インストールする際に「UTF-8」を選択していますから、よほどの特別な事情がない限り「UTF-8」だと思いますけども、万に一つも違っていたりしたらデータ移行でエラーになりますので、確認してください。
文字コードを確認する手順を解説します。
0、FTPクライアントについて
ここではWebFTPを使ってのやり方を紹介しますが、FTPクライアントを持っている人は、FTPクライアントを使ってやるといいですよ。
私はFTPクライアント使えるけれども、(面倒なので)WebFTPを使用して書き換えを行います。FTPクライアントで作業する場合も、やり方自体は同じです。
1、WebFTPにログインする
移行するデータベースをしようしているWordPressのファイルをひらきます。
ファイルを開くためにWebFTPにログインします。
ファイルマネージャーにログインします。

2、WebFTPにログインできた

3、該当フォルダを開く
いまから移行する予定のデータベースを使用している、WordPressが入っているドメインをクリックします。

4、public_htmlをクリック

5、wp-config.phpのファイルを探す
文字コードが記載されているのは「wp-config.php」ファイルです。
wp-config.phpのファイルを探します。

6、wp-config.phpを開く
wp-config.phpが開いたら、文字コードを確認してください。

7、文字コードを確認する
ファイルをゆっくり下に降りていくと、下記のような記述の箇所が見つかります。

↓ その中に、文字コードが書かれています。

8、おまけ
お気づきかと思いますが…
実はここで、前段階のすべて必要情報を集めることができます。
いきなりここを開くと何が何やらわからないと思って、「MySQLユーザー名」「MySQLパスワード」の確認はWordPress一覧からの確認方法をご紹介しました。
このほかの確認方法として、現在使用中の「MariaDB5.5(旧MySQL5.5)用phpmyadmin」からもログインしたら確認することができます。
※私はしなかったので、スクショがないですが。
では準備が整ったところで、いざ、MySQLの移行を行います。
MySQL移行ツールを使ってデータベースを移行する
ここからが慎重を要します。
手順をできるだけ、こと細かに記載しますが、自己責任でお願いします。
旧データベースから最新バージョンへ移行する「仮段階」まで
1、サーバーパネルのトップ画面に戻る
右上にある「トップ」のリンクからトップ画面に戻ってください

2、データベース> MySQL移行ツール をクリック

3、MySQL移行ツール の画面が開く
大事なことが書かれていますんで、熟読してください。

移行ツールを使用中は使えなくなる機能があるということ、移行中は古いデータベースと新しいデータベース、両方が使えるよ、ということ。
そして、古いデータベースのホスト名と、新しいデータベースのホスト名がありますので、これが超重要です。

必ず、メモをとってください。
4、MySQL移行ツールの利用を開始する をクリック

5、現在、移行できるデータベース一覧が開く

私はむちゃくそ多いです。放置にもほどがあります(呆)
時間はかかりますが、私の場合だと「7つのデータベース全てを最新バージョンに移行」することが必要になります。
「どれか一部だけを最新にする」ということはできません。※エックスサーバーさんに確認済
6、「移行(確認)」をクリックします
前述の前段階で、MySQLバージョン、MySQLユーザー名、MySQLパスワード、文字コードがわかっているデータベースから「移行(確認)」をクリック。

7、MySQL5.7へデータベース移行への画面が開きます

8、「MySQL5.7へデータベースの追加(確定)」をクリック
前段階で確認した「文字コード」を確認します。
該当のデータベースの文字コードは、一致しましたか?
一致している場合は、「MySQL5.7へデータベースの追加(確定)」をクリック

9、移行完了(仮段階)
ものの数秒で移行を完了します(早

10、MySQL移行ツールに戻る
「MySQL移行ツールに戻る」をクリック

11、DB削除(確認)になっていることを確認
移行が完了したデータベースは 「DB削除(確認)」のボタンに変わっています。

状態が「移行完了」と書かれています。
ですがこの時点では、旧データベースと、新データベースの両方がある状態。
完全に移行が完了しているわけではないので、移行の「仮段階」です。
だから、この段階でならば「やっぱり移行はやめよう!」と思ったら引き返すことも可能です。
しかしデータベースが2重になっているので、サーバーの容量を無駄に食います。移行を完了させてMariaDB5.5(旧MySQL5.5)を削除するために、作業を続けましょう。
MySQL5.7用phpmyadminに移行されているか確認する
仮段階ながらも移行されているか、新しいデータベースを見てみましょう。
1、「MySQL5.7用phpmyadmin」をクリック。

2、ログインします
ログイン画面が開きます。
前述で確認した「MySQLユーザー名」「MySQLパスワード」が必要になります。
移行完了したデータベースの「MySQLユーザー名」「MySQLパスワード」を入力して「ログイン」してください。

私は「***_wp1」のデータベースが移行完了しているのかを確認したいので、「***_wp1」のMySQLユーザー名とMySQLパスワードを入力します。

3、移行の確認
よくわかんないけど、ともかく新しいデータベースにログインできて、サーバーに「***_wp1」があるってことは、移行されている状態。

wp-config.phpのホスト名を書き換える
さあ、最終段階に入ってまいりました。
新しいデータベースMySQL5.7でサイトを運営していくために、wp-config.phpのホスト名を書き換えます。
WebFTPを使う
エックスサーバーは、ファイルマネージャーのWebFTPから変更ができます。
1、ファイルマネージャーにログインする
「ファイルマネージャー」にログインします。

WebFTPにログインできた。

2、該当ドメインのフォルダをクリック
データベースを移行したドメイン(WordPressが入っているフォルダ)をクリックする。

私はドメインを複数持っています。
ドメインを複数持っている場合、移行したデータベースのWordPressが入っているドメインをクリックします。間違えないように注意して。
間違えて、違うサイトのwp-config.php書き換えないように。
今回、移行する予定のサイトだったらいいですけど(どうせ全部書き換えるので)、移行しないサイトのwp-config.phpを書き換えると、何が起こるかわかりません。
3、「public_html」をクリック
「public_html」内にwp-config.phpがあるので、「public_html」をクリック

wp-config.phpを書き換える
1、wp-config.phpを開く
wp-config.phpのファイルを見つけたら、チェックボックスにチェックをいれる。

右上の方に「ファイルの操作」があるので「編集」をクリック。

ファイルが開いた

2、wp-config.phpのファイルを書き換える
「MySQL移行ツール」でメモを取っておいた古いデータベースのホスト名の部分を、新しいデータベースのホスト名を書き換えます。
書き換える場所を探します。

↓ この部分!

MySQL のホスト名が古いデータベースのホスト名になっているはずです。
ここをメモを取っておいた「新しいデータベースのホスト名」に書き換えます。
3、書き換えたら保存する
右上にある「保存」をクリック。

4、書き換えをしたサイトの動作確認
wp-config.phpを書き換えたサイトの動作確認をしてください。
WordPressにログインできるか、サイトは正常に表示されるか、動作に異常はないか。
動作が全く問題ない状態であれば、MySQL5.7に正常に移行が完了できています。
移行を完了させる
ここまでの作業を、移行するすべてのデータベースで行います。
私の場合ですと、7つすべてです。

※実際は2つ削除したサイトがあり、そのサイトのデータベースが残っていたため困ったことが起こりましたが、それは後述します。
移行を(確認)→(確定)させる
現在は、前述通り「仮段階」です。
旧いデータベースと新しいデータベースが存在している状態です。
移行を確定させて、完了させます。
1、移行を確認する
すべて「移行完了」状態になったうえで、上述の作業をすべてやって、サイトの動作確認まで済ませます。

2、移行完了手続きから、移行を確定させる
移行完了手続きにある、「バージョンをMySQL5.7に移行する(確認)」をクリック。

「バージョンをMySQL5.7に移行する(確定)」をクリック。

3、移行が完了した
MySQL5.7への移行が完了しました。

これで移行は【 確定 】したので
古いデータベースはこれ以降【 使用不可 】になります。
4、移行を確認する
念のため、本当に新しいデータベースへ移行が完了したのか確認するために、データベース>MySQL設定 をのぞいてみましょう。

↓ すべてバージョンが「MySQL5.7」になっている。

これでMariaDB5.5から、MySQL5.7へデータベースの移行が完了しました。
お疲れ様でした(^^
MySQLデータベース移行のまとめ
上記手順通りに行えば、必要情報を間違えたりしない限りは無事に完了できるかと思います。ちなみにエックスサーバーさんに公式の移行方法が記載されています。そちらもご参照ください。
もし何かがあったとき、どこまでの作業をしています、と問い合わせがしやすいので把握しておくに越したことはないですよ。
MySQLユーザー名、MySQLパスワードのわからないデータベースが存在する
ここからは失敗談になりますので、ご興味ががある方のみ、お読みください。
今回はMySQLデータベースを最新バージョンに移行する方法をご紹介しましたが、前述通り、スムーズには行きませんでした。
なぜなら、身に覚えのないデータベースがあったからです。
MySQLのデータベース名は分かっても、MySQLユーザー名も、MySQLパスワードも、文字コードも分かりません。
身に覚えがないので、削除してもいいのかどうかもわからない。
私の場合、「***_wp」がそうでした。

「***_wp5」はいいんです。
移行前に削除したWordPressのサイトのデータベースだと分かっていました。
※これによってWordPressを削除・サブドメインを削除しても、データベースは残ると分かりました。
この問題が解決しなければ、移行が完了できない。
エックスサーバーさんに連絡
そこでエックスサーバーに質問しました!
そして半日以内に解答をいただきました。
さすがエックスサーバー様。対応が早いです。
MySQLユーザー名とMySQLパスワードも文字コードは
どこを確認すれば、判明するものでしょうか?
サーバーパネル『MySQL設定』より、各データベースの
Xserver カスタマーサポートさんより
アクセス権を所有しているMySQLユーザーの確認が可能でございます。
「 ***_wp」の「アクセス権所有ユーザー」のプルダウンより、ご確認いただければと存じます。
おお、そうなんか!
さっそく、MySQL設定を確認します。
MySQL設定から確認する

MySQL設定をクリックして、一覧表から「アクセス権所有ユーザー」を確認してみたら・・・
あっれえええ、「***_wp1」じゃないか!
これは別のデータベースと同じアクセス権所有ユーザー…
そこでようやく、気づく。
そういえば、昔々、サイトを削除したことがあったぞ?
あまりに昔過ぎて忘れてしまっていた。
そもそもデータベースの名前がWPってついているんだから、WordPressである。なのに、WordPress一覧にないということは、削除した以外はあり得ない。
記憶が掘りこされたことにより「***_wpは」は削除されても構わないデータベースだと分かった。
でも念のため、つい先日、削除したサイトも含め、ダウンロードして保管しておくことにした。
対処としてダウンロードして保管しておくことに
1、ダウンロードする
データベースのダウンロードは、データベース > MySQLバックアップ から可能。

MySQLバックアップの「現在のMySQLをダウンロード」をクリックする

バックアップを取りたいデータベースのダウンロード実行をクリックする。

ちなみに「圧縮しない」。
※単純に、私のパソコンではgz形式の解凍ができないからです。
2、データベースのデータ容量は
私としては、2GBくらいあったとしても覚悟の上だったが、さすが削除したWordPressのサイトだけあって、データが軽かった。
どれくらいだったと思います?

衝撃、2KBって!!Σ(゚Д゚)wwww
この後、現在運営している記事数100くらいのサイトのデータベースで、13MBくらいでした。
エックスサーバーのMySQLデータ移行ツールで、データベースが2GB超える場合は、移行ができないと説明があるのですが、心配する必要ないかも。
どうしても心配ならば、この方法でデータベースのデータ容量を確認できます。
3、保管する
私はダウンロードしたデータベースは「念のため」「万が一」のためのものなので、専用の保管場所を作りました。
※Dropboxに新規にアカウントを作成し、そこに保管した。それ以外のものは入れません。
移行を完了させた
前述しておりあすが、データベースの移行を「未完了のままだったら、そのままMariaDB5.5に残せないかな~」と思い、その点もエックスサーバー様に質問しましたが、それは残せないそうです。
新しいMySQLに移行は、古いMariaDB5.5を全部移行する必要があるそう。
そして、MariaDB5.5のデータベースは、すべて削除されるそうです。
だから、一度に全部移行してしまおうね。
移行未完了のままでやれないかなと思ったが、やれなかった。
一応試したので、残しておきますね。
1、未完了を含んで移行完了させてみた

上記の状態で、移行完了手続き > バージョンをMySQL5.7に移行する(確認) をクリックしてみる。
2、エラーになった

当然ながら、エラーになった。
そりゃそうよね。
3、自己責任で完了させる
もう削除されたWordPressのデータベースなので使用することは全くないが、「***_wp」に関して言うならば、「***_wp1」と同じ「アクセス権所有ユーザー」であるだけに、おそらくは「***_wp1」に統合される。
それによって何か、不具合が出るかもしれない。
しかしこれで、何かあったとしても自己責任です。
でも他のサイトは最新バージョンに移行させたかったため、自己責任で「***_wp」「***_wp5」をMySQL5.7に移行させた。

その後、前述通り「バージョンをMySQL5.7に移行する(確定)」をクリック。MySQL5.7への移行を完了させました。
4、反省
いま思えば、念のためのデータベース取ったので先に削除させておけばよかったなぁ。
移行後にエックスサーバーさんに「***_wp」を削除しても「***_wp1」に影響はないか、確認したところ「ありません」とのことでした。
でも、もういらないデータベースだったら、移行せずに削除したほうがいいですよ。
以上、「MySQLデータベースを最新バージョンに移行する手順」の解説でした。この記事が、あなたのお役に立てますように。