このところずっとWordpressのシステム側の調子が悪いなあと思っていて、あれこれ調整していたのですが理由がデータベースのバージョンのせいということが判明。このサイトを開設してからずっとver5.0を使っていたのですが、既にサポート対象外だったらしく、最新のものに更新する必要があるみたい。
というわけで、素人ですがデータベースの更新(というか、厳密に書くと移行)にチャレンジしてみました。僕自身探してみて、意外と記事が見当たらなかったのでデータベースエラー!!!と驚いてググっているあなたのために、記事にしておこうと思います。
目次
WordPressとデータベース(MySQL)の仕組み
データベースというとウェブサイトを閲覧しているだけでは馴染みが薄いものですが、Wordpressでサイト構築しているひとにとっては、ウェブサイト全体の裏側を支える屋台骨。Wordpressの場合はMySQLという、世界で最も使われているオープンソースのデータベースが使われています(ちなみにオラクル製)。レンタルサーバーのパッケージサービスでWordpress環境を構築しているひとにとっては、データベースを管理するようなダッシュボードなものを覗かない限りは気にしなくても良いものなので、データベースエラーとか頻発すると焦りますよね。
ウェブサイト上に表示される記事の原稿や、呼び出すべき画像ファイルなどなどのデータはMySQLのデータベースに載っていて、表示されるときのデザインや更新システム自体はPHPという言語で書かれたアプリケーションシステムによって管理されています。ざっくりと図にまとめるとこんな感じ。
MySQLは今も開発が続いているので常時新しいバージョンが公開され続けていて、現行の最新版はver8.0。僕の借りているサーバーではver5.6が安定的に稼働できる最新バージョンになっていて、サーバーでデーターベースを作成すると、基本的にはMySQL5.6でデータベースが作成できる仕様になっています。
古いバージョンのものを使っているユーザーには、Wordpress管理画面上で「ツール」の「サイトヘルス」項目をチェックしてみれば、警告が出ているはず。データベースエラーが頻出する方はこの機会にぜひチェックしてみてください。
というわけで、今回はこのデータベースの形式をver5.0からver5.6へバージョンアップするのが目標。
WordPressのMySQLをバージョンアップする手順
大まかな作業手順を考える
僕はチキン野郎なので、今回はver5.0からver5.6へアップグレードする方法といっても、本当のところは「移行」というやり方を採用してみました。簡単に書くとこんな感じ。
- 現行データベース「A(ver5.0)」のバックアップを自分のiMacに保存
- サーバー会社のダッシュボードから新規データベース「B(ver5.6)」を作成
- ①で出力したバックアップを②のデータベースにアップロード
- WordPressの読み込むデータベースをAからBへ変更する
もしかしたら、ちゃんとエンジニアのひとに手伝ってもらえれば、一発でアップグレードできる方法もあるのかもしれませんが、僕は素人なので作業途中でデータベースが欠損したり、元に戻せなくなったりするのが怖かったので上の手順を考えてみました。
現行データベースのバックアップを保存
というわけで、まずは現行データベースをローカル環境(自分のパソコン)に保存します。サーバーの会社によって違いはありますが、基本的には「phpMyAdmin」と呼ばれるSQLの管理画面からダウンロードします。僕の使っているhetemlでは管理画面にこんな感じで表示されていました。
MySQLのバージョンを確認すると「5」と記載されています。phpMyAdminと書かれたリンクをクリックすると、phpMyAdminの画面がブラウザ上で開きます。
phpMyAdminの画面上部にあるメニューから「エクスポート」のタブを選択。データベースに含まれるデータテーブルの全てをダウンロードする必要があるので、エクスポート方法は「詳細」を選択。
実行ボタンを押せばローカル環境に保存できます。拡張子は「.sql」ですね。
新規MySQL(ver5.6)データベースを作成
僕がサーバーを借りているhetemlの場合、hetemlの管理画面から新しいデータベースを作成することができます。ちなみにデフォルトでver5.6で作成されるみたいですね。
新規作成が終わると、画像のように「5.6」と書かれた新しいデータベースができました。
バックアップしたデータベースを新規データベースへアップ
新しいデータベースの中身を見てみると当たり前ですが、ちゃんと空っぽになっています。
この空っぽのデータベースに、先ほどダウンロードしたデータをアップロードしていきます。
フォーマットを選択して、アップロードファイルを選んで「実行」。インポートが正常に実行されると、実行し終わったクエリ数とともに正常に終了したことが表示されます。これで、中身が全く一緒の新しいデータベースが完成しました。
WordPressの読み込むデータベースを変更
あとは、Wordpressのシステムから読み込むデータベースを、新しいものに変更するだけ。Wordpressの一連のシステムとデータベースの連携を行うのは、「wordpress」フォルダのなかにある「wp-congig.php」ファイル。このファイルには読み込むデータベースが書かれているので、この記述内容を変更します。
MySQL設定とコメントアウトされた部分には、データベースへのアクセス設定を行う部分があるので、この部分を新しい設定に書き換えます。
本当はFTPツールからwp-config.phpファイルをダウンロードして、上書きしてからアップロードしたほうがバックアップを取れて良いのですが、面倒なのでhetemlのFTP画面からそのまま上書きしました。
WordPressのデータベース移行って簡単かも
ずっとデータベースエラーって出てて、面倒だな〜難しいかな〜って思ってましたが、新しいものをつくって入れ替えるだけって考えると、そんなに難しいもんでもなくて拍子抜け。みなさんも数年で放置してしまったデータベース設定を、たまに見直してみてはいかがでしょうか。