データベース のアップグレード【さくらインターネット】

wordpress
この記事は約6分で読めます。

photo by こぬぬこさん

 データベース (DB)のアップグレード手順は、さくらインターネット(以下、さくら)の公式に載っています。しかし、自分がアップグレードを実行した際、不明な点が多かったです。そこで、不明な点を自分なりに補足しました。

スポンサーリンク

はじめに

DB のアップグレードは強制ではありません。しかし、今回、アップグレードした理由は以下の通りです。

  • さくらの「新サーバへの移行のご案内」
  • サービスコントロールパネル(以下、SCP)のホームに表示されている「推奨設定」
  • WordPressのサイトヘルスステータスに「古いデータベースサーバー」が表示されていた。
図1

次に、これらの問題について調べると、さくらで以下の記事を見つけました。

データベースをアップグレードしたい | さくらのサポート情報
こちらのマニュアルでは、データベースアップグレード機能についてご案内しています。コントロールパネルからの操作により、指定した日時に対象のデータベースを現在提供中のバージョンへ簡単にコピーを行う機能です。前提条件ウェブアプリケーションの設定変...

アップグレード対象のデータベース

アップグレード対象は以下のバージョンです。

  • MySQL5.7
  • MySQL5.5
  • MySQL5.1

さくらのSCPの「データベース」を確認すると、当サイトはMySQL5.7でした。

図2

さくらのサイトには、アップグレード後の元データベースについて記載がありません。そこで、参考までに情報を載せることにしました。ただし、この記事は、DBのアップグレードを保証するものではありません。そして、アップグレードを実行した結果、不具合が起きても責任は持てません。

データベースのアップグレード

SCPの左側のメニューの「Webサイト/データ」→「データベース」を選択します(図3)。

図3

表示された画面に「アップグレード設定」があれば、これをクリックします(図4)。

データベース_1
図4

DBのアップグレードはキャンセルできます。しかし、キャンセルするとその履歴が残ります(図5の赤枠)。アップグレードする場合は「データベースのアップグレード」をクリックします(図5の青枠)。

データベース_2
図5

データベースアップグレード設定

「データベースのアップグレード」をクリックすると、「データベースアップグレード設定」が表示されます。既存のDBがあれば、アップグレード後のデータベース名の_横のテキストボックスに、その名前が表示されます(図6)。

データベース_3
図6

例えば、アップグレード前のデータベース名がtest_wpと設定されていたとします。この場合、テキストボックス内には「wp」と入力されています。このテキストボックス内の内容を変更すると、wp-config.phpの設定と変わってしまいます。このため、変更には注意が必要です。設定を特に変更していないのであれば、変更は不要です。あとは、予約日時の設定をするだけです。「同意して予約する」をクリックすると、以下の内容が表示されます(図7)。ここでは、予約日時が確認できます。そこで、問題がある場合は「キャンセル」ボタンでキャンセルできます。

データベース_4
図7

SCPのメニューから「データベース」をクリックすると、以下の状態になっています(図8)。

図8

予約日時の10分後にメールで「データベースアップグレード 完了のお知らせ」が届きました。このため、アップグレードが完了するまで10分掛かるようです。

WordPressの設定更新

このサイトの場合、アップグレード時にDBのデーターベース名を変更していません。また、データベース(phpMyAdimin)にログインするためのユーザー名とパスワードも変更していません。この場合、Wordpressのwp-config.phpで変更する必要があるのは、ホスト名だけになります。

アップグレード時のwp-config.phpの変更に関する注意!!
「データベース名」を変更した場合、DB_NAMEを変更する必要があります。また、「パスワード」の変更を行った場合、DB_PASSWORDを変更する必要があります。

ホスト名の確認

SCPのDBにはMySQL5.7の場合、以下のように記載されています。

mysql**.アカウント名.sakura.ne.jp
(mysql***.db.sakura.ne.jp)

wp-config.phpに設定されているDB_HOSTはmysql***.db.sakura.ne.jpという形式でした。
MySQL8.0にアップグレードした場合、MySQL5.7とMySQL8.0の二つが以下のように表示されます(図9)。

図9

DBをMySQL8.0にアップグレードした場合、元のMySQL5.7のDBがどうなるか心配でした。しかし、そのまま残るので安心しました。MySQL8.0にアップグレードすると、「データベースサーバー」が以下のように記載されています。

mysql80.アカウント名.sakura.ne.jp
(mysql****.db.sakura.ne.jp)

ホスト名の変更

MySQL5.7の場合、これまではmysql***.db.sakura.ne.jpをwp_config.phpのDB_HOSTに設定していました。MySQL8.0にアップグレードした場合、上記の二つのホスト名があります。ここで、どちらを選ぶか混乱しました。この点について、さくらに確認したところ、どちらでも良いとのことでした。さくらの「データベースをアップグレードしたい」では、以下のように書かれています。

※アカウントが含まれている方(mysql80.xxx.sakura.ne.jp)をメモしてください。
mysql(数字).db.sakura.ne.jpのホスト名は、メンテナンスや障害情報に掲載されるホスト名です。

念のため、mysql80.アカウント名.sakura.ne.jpをwp-config.phpのDB_HOSTに設定しましょう。wp-config.phpはWordpressがインストールされたフォルダの直下にあります。wp-config.phpで以下のように記載されている部分を探します。

/** MySQL のホスト名 */
/* define('DB_HOST', 'mysql***.db.sakura.ne.jp'); */
define('DB_HOST', 'mysql80.***.sakura.ne.jp');

以前のバージョンのホスト名は、/* */でコメントアウトしています。これはホスト名変更後に問題が起きた場合、元に戻せるようにするためです。

まとめ

DBをアップグレードした場合、既存のMySQL 5.7のDBはそのまま残ります。そして、新規にMySQL 8.0のDBが作成されます。このため、wp-config.phpの設定を変更しない限り、サイトはMySQL 5.7で動作しています。実は、当初、既存のDBがアップグレードされると思っていました。しかし、それは杞憂に終わりました。

アップグレード後のwp-config.phpの設定は、次の通りです。データベース名を変更した場合、DB_NAMEも変更します。パスワードを変更した場合、DB_PASSWORDも変更します。どちらも変更していない場合、DB_HOSTのみ変更します。DB_HOSTを変更する場合、mysql80.アカウント名.sakura.ne.jpを設定します。

当サイトは、データベース名やパスワードはアップグレード前後で変更していませんでした。そのため、DB_HOSTを変更するだけでした。また、既存のDBは残るので、あまり心配する必要はありませんでした。もし、サイトヘルスステータスが気になる場合は、試してみるのも一つかもしれません。

注意点

新DBに移行した後、Wordpressに変更を加えると旧DBと新DBに違いが生じます。この時、新DBから旧DBにwp-config.phpの設定を変更しなおすとどうなるかは不明です。この点に関しては、サポートに問い合わせても、回答の対象外でした。

コメント

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