目次
先日WordPressの保守管理作業を行っていた際に1つのサイトでMySQLのバージョンが古い為最新のWordPressをインストールできない事例がありました。
今回はMySQL 5.1で運用しているWordPressを、MySQL 5.7にバージョンアップする手順を紹介します。
是非参考にしてください。
環境
・サーバー:Zenlogic
・作業前MySQLバージョン:5.1.73
作業の前
・WordPressで構築しているサイトの記事の数や設定、利用しているプラグインなどにより、データベースのサイズが大きくなっている場合があります。
・ファイルやデータベースのバックアップを念のため取得しておいてください。
・不要なプラグインやデータの削除などをバージョンアップ前に行ってください。
・対象バージョンによって、設定方法などが異なる場合があります。ご利用にバージョンに沿った設定を行ってください。
設定ファイルのダウンロード
該当のサイトのWordPressの設定ファイルを、FTPでダウンロードします。
対象ファイル
WordPressインストールディレクトリ/wp-config.php
wp-config.phpをテキストエディタで開き、以下の部分の情報を確認しておきます。
// ** MySQL 設定 - この情報はホスティング先から入手してください。 ** //
/** WordPress のためのデータベース名 */
define('DB_NAME', 'example');
/** MySQL データベースのユーザー名 */
define('DB_USER', 'example_user');
/** MySQL データベースのパスワード */
define('DB_PASSWORD', 'example_password');
/** MySQL のホスト名 */
define('DB_HOST', 'example_host');
データベースのエクスポート
今回MySQL 5.1で運用しているWordPressのデータベース(MySQL 5.1)のデータをエクスポートします。
手順で言うと上記作業を行うのですが、phpMyAdminが見つからなかったので違う方法でエクスポートしていこうと思います。
Adminer(ダウンロードから設置)
ZenlogicにAdminerをインストール/アクセスする手順をご案内します。
Adminerをインストールするために、サーバーでさまざまな設定が必要です。
Adminerとは
先に簡単にAdminerの説明します。
PHPで開発されたシンプルで機能豊富なデータベース管理ツールです。
MySQL、PostgreSQL、SQLite、MS SQL、Oracleなど多くのデータベースをサポートします。
シングルファイル構成で軽量かつ高速で、インストールや設定が容易です。
ユーザーフレンドリーなインターフェースを提供し、データベースの操作、テーブルの管理、SQLクエリの実行、データのインポート・エクスポートなどの機能が揃っています。
セキュリティ面でも優れた設計がなされており、認証やアクセス制御が可能です。
①Adminer 公式サイトにアクセス
Adminer 公式サイトにアクセスします。
Downloadをクリック >最新版をダウンロードします。
※ ダウンロードしたファイル名には「adminer-4.8.1.php」のようにバージョン番号が含まれますので、「adminer.php」に変更しておきます。
※ セキュリティの為に「adminer.php」ではなく他のファイル名にするのも推奨します。
②サーバーへの設置
AdminerのファイルをFTPでサーバーに設置します。
アクセスできるディレクトリを作成し、そこに先ほどダウンロードした「adminer.php」を設置します。
※ Adminerを利用するたびに設置、用途が終了したらディレクトリごと削除するのもセキュリティ対策になります。
➂.htaccessの設置
下記内容を記述した「.htaccess」ファイルを、Adminerのインストールディレクトリに設置してください。既にディレクトリに「.htaccess」ファイルが存在する場合も追加してください。
<IfModule mod_siteguard.c>
<Files ~ "adminer.*\.php$">
SiteGuard_User_ExcludeSig oscmd-21
</Files>
</IfModule>
Adminerでの作業
①Webブラウザでアクセス
設置した「Adminer」にWebブラウザでアクセスします。
アクセス先のURLの例
https://標準ドメイン名/設置ディレクトリ/adminer.php
②ログイン情報の入力
データベース種類 | 利用するデータベースの種類を選択 |
サーバ | 127.0.0.1:(ポート番号) ※ ポート番号は、データベースの初期化の際に設定したものです。 |
ユーザ名 | MySQLの場合 : root PostgreSQLの場合 : defaultadmin ※ すでにデータベースをご利用中で、「root」や「defaultadmin」以外にユーザーを作成している場合、そのユーザー名でもログイン可能です。 |
パスワード | データベースの初期化/起動時に設定したパスワード ※ すでにデータベースをご利用中で、「root」や「defaultadmin」以外にユーザーを作成している場合、そのユーザーに設定されたパスワードでもログイン可能です。 |
➂ログイン
④データエクスポート
ログイン後にエクスポートしたいデータベースに入ってエクスポートをクリックします。
出力を開くから保存に変更してエクスポートをします。
ここでAdminerで行う作業は終了です。
データベースの起動
MySQL 5.7を利用してない場合は、データベースの起動が必要です。
下記ページを参考に該当のバージョンのMySQLの初期設定を行ってください。
https://www.idcf.jp/rentalserver/support/manual/db/initialize.html
ポート番号 | 初期状態では「3306」が入力された状態になっていますが、MySQL 5.1と5.7で同じポート番号をご利用いただけません。 すでにMySQL 5.1で「3306」が使用済みの場合、5.7では異なる番号を指定します。 本ページでは以下の通りに設定した状態でご案内しますので、お客様環境の状態に合わせて適宜読み替えてください。 MySQL 5.1 =「3306」/ MySQL 5.7 =「3357」 |
パスワード | MySQL 5.1と5.7で同じパスワードを設定しても問題ありません。 |
データベースの設定
①「phpMyAdmin」にアクセス
先ほど作成したphpMyadminにログインします。
ユーザー名:「root」
パスワード:データベースの初期設定の際に設定したパスワードを入力
②データベースの作成
phpMyAdminの画面上部の「データベース」メニューをクリックします。
「データベース」の画面が開いたら、「データベースを作成する」で以下の項目を入力/選択し、「作成」ボタンをクリックします。
データベースが正しく作成されると、空の状態のデータベースが表示されます。
データベース名 | 「wp-config.php」の「DB_NAME」の内容を入力 |
照合順序 | utf8_general_ci |
データベースのインポート
空のデータベースが作成できたので、AdminerでエクスポートしたMySQL 5.1のデータをMySQL 5.7のデータベースにインポートしていく作業になります。
先ほど作成したからのデータベースを選択して、開けたら「インポート」メニューをクリックします。
「アップロードファイル」の項目の「ファイルを選択」ボタンをクリックします。
ファイルの選択ダイアログが表示されますので、Adminerの「④データエクスポートで保存したファイル」の.sqlファイルを選択し、画面最下部の「実行」ボタンをクリックします。
インポートが正しく実行されると、完了メッセージが表示されます。
以上でphpMyAdminでの作業は終了になります。
データベースの変更
最後の作業で事前にダウンロードしたWordPressの設定ファイルを編集します。
「DB_HOST」の部分を編集して保存します。
保存したファイルを、FTPでサーバーに上書きアップロードします。
対象ファイル
WordPressインストールディレクトリ/wp-config.php
こちらを変更することによってWordPressのデータベースの変更は完了です。
Webサイトにアクセスし、動作確認をしてください。
// ** MySQL 設定 - この情報はホスティング先から入手してください。 ** //
/** WordPress のためのデータベース名 */
define('DB_NAME', 'example');
/** MySQL データベースのユーザー名 */
define('DB_USER', 'example_user');
/** MySQL データベースのパスワード */
define('DB_PASSWORD', 'example_password');
/** MySQL のホスト名 */
define('DB_HOST', '127.0.0.1:3357'); //ここを変更
DB_HOST | 127.0.0.1:(ポート番号) ※ ポート番号は、MySQL 5.7の初期化の際に設定したものです。 |
WordPress
WordPress側でもバージョンが変更されているか確認しましょう。
ツール > サイトヘルス > 情報 > データベース のタブから確認できます。
まとめ
何かを変更した時点でWebサイトにエラーが起きていないか確認するのが重要です。
同様に何かあった時の為にファイルごとやサイト丸々バックアップを作成することも忘れないでください。
契約しているサーバーのサポートセンターはphpMyadminやAdminerの設定・操作方法などはサポートの対象外なことがほとんどなので自力でなんとかするしかありません。
いずれにしても早めに対応することに損はないです。
「インストールに失敗しました。」という怖い文字を見る前にサーバーのMySQLのバージョン、最新のWordPressのバージョンとの互換性もこまめに確認することをオススメします。
下記サイトを参考に進めさせていただきました。
https://www.idcf.jp/rentalserver/support/knowledge/wordpress/db_update56.html