【WordPress】さくらレンタルサーバでMySQLを4.x系から5.5にアップグレード
WordPress2016年8月18日
このサイトをWordPressで作成するにあたって、元々別サイトの運営でさくらのレンタルサーバを利用していたこともあり、同じデータベースを使おうと思ったのですが、WordPressの最新版(4.5.3)をインストールしようとしたところMySQLが古すぎて対応しておらず、インストールできませんでした。
現状のデータベースをそのままアップグレードすることはできないため、一度既存のデータベースを削除して新しいデータベースを作る事になります。
事前に色々と調べたかいもあってか一発でうまくいったので、その流れを書き留めておきたいと思います。
MySQLアップグレードの大まかな流れ
- データベースファイルのエクスポート(バックアップ)
- 旧データベースを削除
- さくらの管理画面で新データベースを作成
- データベースファイルを一部編集
- データベースファイルをインポート
- wp-config.phpの内容を一部編集
データベースファイルのエクスポート(バックアップ)
さくらの管理画面にて、[アプリケーションの設定]-[データベースの設定]-[管理ツール ログイン]より、phpMyAdminにログインします。
ログインしたら、[エクスポート]タブをクリックします。遷移した画面でエクスポートを行うのですが、以下の点に注意する必要があります。
注意点
- [構造]内の「DROP TABLEを追加」「IF NOT EXISTSを追加」にチェック
- 「ファイルに保存する」にチェック
- 圧縮は「なし」を選択
「実行する」をクリックすると、ファイルを保存するダイアログが表示されますので、ローカルの適当な場所に保存します。
旧データベースを削除
次に、さくらの管理画面にてデータベースを削除します。[アプリケーションの設定]-[データベースの設定]-[削除]より、旧データベースを削除します。
一度削除すると元に戻すことはできないため、エクスポートに間違いがないかよく確認してから削除しましょう。
さくらの管理画面で新データベースを作成
次に、さくらの管理画面にて新しいデータベースを作成します。[アプリケーションの設定]-[データベースの設定]-[データベースの新規作成]より、任意の情報を入力してデータベースを作成します。文字コードはUTF-8を選択しておくとよいでしょう。
データベースファイルを一部編集
エクスポートしたファイルをインポートする前に、一部編集する必要があります。
「TYPE=MyISAM」を「ENGINE=MyISAM」に全て置換
対象箇所が多いため、秀丸やサクラエディタなどで一斉置換すると正確に行うことができます。
この修正を行わずにインポートするとエラーが発生し、先に進めなくなりますので注意。
CREATE DATABASEの記述をコメントアウト
20行目前後にある以下の記述をコメントアウトしておきます。
以下のように先頭にハイフンを2つ付与すればOKです。
-- CREATE DATABASE `旧データベース名` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
データベースファイルをインポート
ファイル容量に応じて方法が異なるので注意。
ファイル容量が16MB以下の場合
さくらの管理画面にて、[アプリケーションの設定]-[データベースの設定]-[管理ツール ログイン]より、phpMyAdminにログインします。
[インポート]タブをクリックして、[参照]からデータベースファイルを選択してインポートしてください。
照合順序はutf8_generalciにしておきます。容量が16MB以下の場合はこれでインポート完了です。
ファイル容量が16MB以上の場合
phpMyAdminでは16MB以上のファイルはインポートできないため、別の方法でインポートを行います。
bigdumpをダウンロード
以下のサイトにアクセスし、右側の「Download script」からファイルをダウンロードします。
bigdump.phpに新データベースの情報を入力
bigdump.phpをエディタで開き、新データベースの情報を入力します。
$db_server = '新しいホスト名';
$db_name = '新しいデータベース名';
$db_username = 'ユーザ名';
$db_password = 'パスワード';
bigdump.phpとデータベースファイルをサーバにアップ
編集したbigdump.phpとデータベースファイルをサーバにアップします。
bigdump.phpにてデータベースを読み込み
アップしたbigdump.phpにアクセスすると、以下のようにデータベースの読み込み準備画面が表示されます。
[Start Import]より、読み込みを開始してください。
wp-config.phpの内容を一部編集
wp-config.phpに記述されているデータベース名やホスト名を、新データベースのものに書き換えてアップロードします。
パスワードも変更した場合はパスワードも書き換えてください。
define('DB_NAME', '新しいデータベース名');
define('DB_USER', 'ユーザ名');
define('DB_PASSWORD', 'パスワード');
define('DB_HOST', '新しいホスト名');
define('DB_CHARSET', 'utf8');
ブラウザで正常に表示されているか確認
サイトが正常に表示されていれば成功です。
ファイルアップしたbigdump.phpとデータベースファイルはサーバから削除しておきましょう。