ロリポップでデータベースのバージョンアップ5.1から5.6への方法をご紹介します。
wordpressのツールにサイトヘルスというものがあります。
ある日、そこにエラーが発生しているのを見つけました。
「非常に古いデータベースサーバー」とあります。
確かにロリポップで契約してから早10年になろうとしています。
そこで、今回はデータベースのバージョンアップ方法をご紹介します。
前提条件
ロリポップ のライトプランからスタンダードプランへ変更後、作業。
(ライトプランだと複数データベースが持てないので、ライトプランの場合は、データベースを削除して、新たにデータベースを作る、という事になります。
今回、諸事情により、わたしは、複数データベースが持てるスタンダードプランへとプラン変更してから行っています。)
古いデータベースをエクスポートする
ロリポップサーバーのデータベース画面に入ります。
phpMyAdminを開く で データベース画面へ入ります。
エクスポートをクリック。
生成オプション > 追加コマンド で全てチェックを入れる。
作成するクエリの最大数を5000へ変更する。
その後、実行ボタンをクリックする。
新規データベースを作成する
ロリポップサーバーのデータベースメニュー > 作成 をクリックする。
作成するサーバー | SQLが5.6のものであれば、なんでもよい。 |
データベース名 | 任意の名前 |
接続パスワード | 任意のパスワード |
作成ボタンをクリックする。
新しく作ったサーバーへのインポート
インポート > ファイルを選択(先ほどエクスポートしたファイルを指定)>実行ボタンをクリックする。
こんな表示がでたらインポートは終わり。移行まであと一歩です!
wordpressのデータを新規データベースへ接続する
wp-config.phpファイルの中身、4か所を古いデータベース情報から新しく作ったデータベース情報へと書き換えます。
※wp-config.phpの属性を400→500へ書き換えると上書きできます。上書き後は元の400へ戻しておきます。
wp-config.php | ロリポップサーバーのデータベース管理画面 |
---|---|
DB_NAME | データベース名の部分 |
DB_USER | ユーザー名 |
DB_PASSWORD | パスワード確認 |
DB_HOST | サーバー |
これで、終了です。サイト管理画面に戻ってサイトヘルスを確認すると、、、褒められました!
エラーの対処
#1044エラー
#1044 – Access denied for user ‘username’@’localhost’ to database ‘database_name’
インポート時にこのようなエラーが出た場合の対処について書きます。調べてみて、試してみて成功したので、お伝えします。
エクスポートしたsqlファイルをテキストエディタで開きます。
その中の下記の記述を書き換えます。
–
– Database:古いDB名
–
CREATE DATABASEtips_db
DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
USE古いDB名
;
これを、下記のように書き換えます。CREATE~の部分は削除します。
– – Database:新しいDB名(※一応)
– USE新しいDB名
;
#1046 – No database selected
エラーメッセージにある通り、データベースが指定されていないため起こるエラーです。
解決するには、
エクスポートする時に、CREATE DATABASE/USEコマンドを追加するにチェックを入れる
※デフォルトでは、赤枠の二つにチェックが入っていないかと思いますが、全てチェックします。
まとめ
実は、すんなりいかなかった移行です。なんだかんだ30分以上かかった気がします。
わたしのこの失敗が、お役に立てたら幸いです。