WordPressのようなCMSを利用していると、作成した記事や画像・動画への参照、カテゴリー情報やコメント情報などのデータは、すべてデータベースで管理されます。
当サイトは、レンタルサーバーに「ロリポップ」を使っているのですが、昔から使っていると、データベースやWebサーバーなどの運用に必須の「サーバーソフトウェアのバージョン」が古いままだったりします。
当サイトでこれまで使っていたデータベースのバージョンは「MySQL5.6」だったのですが、現在は「MySQL8」が最新となっています。
データベースのバージョンが最新に変わっても、これから新しくサーバー内に設置するデータベースが「MySQL8」になるだけであって、これまで使ってきた古いデータベースのバージョンが自動的に最新になるわけではありません。
というわけで、今回は「MySQL5.6」に貯まった当サイトのデータを新しく設置した「MySQL8」のデータベースに移行してみたいと思います。
旧データベースのデータをバックアップ
まずは、現在のデータベースに保存されているデータを「sqlファイル」にバックアップしたいと思います。
該当のデーターベースの「phpmyadmin」を開きます。
データーベース名をクリックして、今回データを移行したいテーブルをクリックしてチェックマークを付け、すべて選択している状態にします。
下の方に行き、「チェックしたものを」のボックスをクリックして、一覧から「エクスポート」をクリックします。
特に何も変更せずに、「エクスポート」ボタンをクリックします。
拡張子が「.sql」というファイルが保存されたと思います。
このファイルには、テーブルの構造とテーブルに保存されたデータがバックアップされます。
一旦、「phpmyadmin」を閉じますので、左サイドのログアウトアイコンをクリックします。
新しいデータベースを作成
次に、新しいデータベースを作成するため、ロリポップの管理画面からデータベースを開きます。
「作成」ボタンをクリックします。
データベース名や接続パスワードを入力して作成すると、データベース一覧に表示されるようになります。
データベースのバージョンが「8.0」になっています。
データベースが作成できたら、先ほどエクスポートしたデータを新しいデータベースに移行するために、今作成したデータベースの「操作する」ボタンをクリックします。
データをインポート
ユーザー名とパスワードを入力し、使用しているデータベースサーバーを選択して、ログインします。
「phpmyadmin」が開くので、右側ペインの上部から「インポート」をクリックします。
インポートするファイルに、先ほどエクスポートしてバックアップしておいた「sqlファイル」を指定します。
後はそのままで「インポート」ボタンをクリックします。
データベースに、バックアップしておいたテーブル(データも一緒)が戻ります。
最後に、WordPressで使うデータベースの設定を書き換えていきます。
configファイルを編集
データベースの設定は、「configファイル」にありますので、これを新しいデータベースの情報へ書き換えます。
サーバー上のファイルに接続します。
上の画面は、「WinSCP」というFTPクライアントソフトウェアでサーバー上のファイルにアクセスしているところです。
FTP/FTPSでサーバーに接続できるソフトウェアなら何でもOKです
WordPressを構築する際に、トップのフォルダを作成してそこにWordPressに必要なデータをすべて入れたと思いますが、そのトップフォルダの直下に「wp-config.php」というファイルがあります。
※当サイトの場合、「ryoworks」というトップフォルダを作ってそこにWordPressのデータを入れています。つまり、ryoworksフォルダの直下に「wp-config.php」があります。
念のため、今の状態をバックアップしておきますので、FTPクライアントソフトウェアで「wp-config.php」を「複製(コピー)」して、任意の名前を付けた別のファイルを作成し、これをバックアップ用に保存しておきます。
バックアップファイルが作成できたら、「wp-config.php」を開きます。
ロリポップにログインした先のデータベースの一覧に、先ほど新しく作成したデータベースのユーザー名やデータベース名、データベースサーバー(ホスト)の情報が載っているのでそれを控えておきます。
控えた情報を間違いのないように上の4つに入力し直し、保存してファイルを閉じます。
これでデータの移行は以上になります。
自分のサイトにブラウザで接続してみてきちんと表示されているかどうかを確認します。
正常に表示されない場合、「wp-config.php」ファイルを削除して、バックアップしてあった「バックアップ用のwp-config.php」ファイル名を「wp-config.php」に戻してもう一度最初から手順を見直してみてください。
(まとめ)最後の確認
データ移行後に、ページが正常に表示されたのを確認できた後は、最後の確認として記事を1つ作成し、新しいデータベースのテーブルに入ったかどうかを確認します。
ロリポップにログインして、データベースに「phpmyadmin」で接続します。
テーブルの一覧に「rw_posts」があるのでこれをクリックします(①)。
データの最後へと移動します(②)。
最終行あたりの「post_content」列や「post_title」列を確認して、新しいデータベースに移行してから作成した記事が登録されていれば、もう間違いはないと思います。
そのまま、データを移行するだけであれば、「phpmyadmin」での操作も全く難しくないので、以下に該当するかたは試してみてください。
- レンタルサーバーにロリポップを使っているかた
- 運営しているサイトをWordPressで構築しているかた
- 運営しているサイトのデータベースが古いバージョンで気になっていたかた