さくらのレンタルサーバのMySQLバージョンアップ

サイト運営

5.7から8.0へバージョンアップ

当サイトはさくらインターネットのホスティング・サービス(さくらのレンタルサーバ)を利用している。WordPressが使うMySQLのバージョンが5.7と古かったので、8.0にバージョンアップした。

MySQL 5.7は2023年10月21日にサポート終了している。MySQLの2025年2月時点の最新バージョンはMySQL 9.2であるが、さくらのレンタルサーバの「データベース機能」として提供されるMySQLの最新バージョンはMySQL 8.0となる。

さくらのレンタルサーバの「データベース機能」は、さくらインターネットがMySQLの環境や設定をプリセットしたものを使えるサービスである。バージョンが最新でなかったり、細かい設定を自分でカスタマイズできなかったりの制約はあるが、WordPressのデータベースとして使うだけなら簡単・便利で最高である。今回のMySQLのバージョンアップも5クリックくらいでやっつけられる。ただし、アホなミスをしてしまったので、やり直しで余計に10クリックくらいかかってしまった。

バージョンアップの手順

データベース機能のMySQLのバージョンアップは、さくらのレンタルサーバのサーバーコントロールパネルから行う。新しいMySQL 8.0のインスタンスに旧バージョンのID/パスワードやデータをコピーしてくれる。

WordPressもさくらのレンタルサーバのプリセットで構成している場合は、下図の②のwp-config.phpの修正を行ったタイミングで、WordPressが使うMySQLがバージョンアップ後のMySQL 8.0になる。

データベースのバージョンアップは、サーバーコントロールパネルの「Webサイト/データ」にあるデータベースの画面で「アップグレード設定」をクリックする。

バージョンアップは希望時刻を「予約日時の設定」として指定する。希望時刻は即日の2時間おきに指定できるので、直ぐにやってしまえる。

バージョンアップが終わると、MySQL 8.0のインスタンスができる。メールでもバージョンアップ完了の通知が届く。

MySQLのバージョンアップ後には、WordPressのwp-config.phpの修正が必要になる。MySQL 8.0は別のインスタンスとして作成されるが、WordPressはバージョンアップ前のMySQL 5.7のインスタンスと接続するようにwp-config.phpで設定されたままだからである。

wp-config.phpはサーバーコントロールパネルのファイルマネージャーから修正する。「DB_HOST」のパラメーターを新しいMySQL 8.0のホスト名に変更するだけである。

wp-config.phpを修正すれば、WordPressはMySQL 8.0のインスタンスに対して書き込み・参照するようになる。MySQLのID/パスワードなどの環境情報もコピーされるので、WordPressでの設定変更はない。簡単・便利で素晴らしい。

バージョンアップのやり直し

私はMySQLのバージョンアップを予約後に外出し、②のWordPressのwp-config.phpの修正を忘れてWordPressを更新してしまった。wp-config.phpの修正後にWordPressを開くと、更新箇所が消えていていて気が付いた。WordPressの更新は、バージョンアップ前のMySQL 5.7のインスタンスに対して行っていたのである。

もう1度バージョンアップをすれば、WordPressの更新が行われたMySQL 5.7からMySQL 8.0に更新データをコピーしてくれるはずである。結論はMySQL 8.0のインスタンスを削除してから、バージョンアップを行えば上手く行った。

バージョンアップ後のMySQL 8.0のインスタンスがある状態で「アップグレード設定」を実行すると、「DBはすでに存在しています」というエラーが表示されて実行できなかった。

MySQL 8.0のインスタンスを削除後に改めて「アップグレード設定」を実行すると、上手く行った。WordPressの更新データが入ったMySQL 5.7が再度MySQL 8.0のインスタンスにコピーされ、その後にwp-config.phpを修正してWordPressの更新箇所がMySQL 8.0との接続でも反映できたことを確認した。

しかし、簡単・便利で良くできた仕組みである。本職ではOracleしか触っていないが、Oracleのバージョンアップは5クリックでは済まず、100クリックと試行錯誤のコマンドを何発も実行して大抵ズッコケる。

個別カスタマイズをさせずに共通設定を使わせ、そこに激アツの移行スクリプトを組み合わせて簡単・便利な仕組みを作っているのだろうけども、これを運用に乗せて使えるようにするのは中々できることではないと思った。さくらのレンタルサーバ、恐るべしである。

バージョンアップとアップグレードの違い

今回はMySQLを5.7から8.0にバージョンアップをした。私はこれを「バージョンアップ」と表現したが、さくらのレンタルサーバのメニューでは「アップグレード」と表記されている。

やっていることは同じことを指すが、日本のIT業界では「バージョンアップ」と言い、アメリカでは「アップグレード」と言う。アメリカの英語の製品マニュアルやstack overflowの記事を読んでも、「version up」ではなく「upgrade」と書かれている。

なんと、「バージョンアップ」は和製英語なのであった。クーラーやコンセントと同じ類の表現で、日本だけで通じる語句である。

アメリカの英語のマニュアルや手順書に「アップグレード」と書いてあるのを見ると、昔から「あれ?これエディションを上げることを言ってんのか?」や「なんやねん、グレードなんか上がらんくせに膨らませやがって」と思っていた。日本ではバージョンアップで良いけども、英語で情報を探す場合はアップグレードを使うのが良い。

タイトルとURLをコピーしました