ロリポップ!サーバーのデータベース(MySQL)バージョンアップ(更新)方法を、起こりやすいエラー( #1044 #1046 )解決方法と共に覚書き。特にライトプランの方は、自信がなければご自分で手を付けずに依頼した方が良いでしょう。してください!データベースを一度削除するというおっかない作業をしなくてはなりません……。
ロリポップ!サーバーのMySQLバージョンアップデート方法(削除や作成など)
とりあえず、まず一体何をやるのか手順を簡単にまとめておきます。
- バックアップを取る(しっかり取る)
- ロリポップ!へログイン
- ファイルマネージャー「ロリポップFTP」を開き「wp-config.php」をダウンロード
- 「wp-config.php」から「データベーステーブルの接頭辞」「データベース名」「ユーザー名」「データベースのパスワード」をメモる
- 「サーバーの管理・設定」→「データベース」へ
- 「php My adminを開く」へ入る
- 先ほど「wp-config.php」からメモした「ユーザー名」「パスワード」を記入し、プルダウンから「データベース名」を選択してログイン
- 「エクスポート」をクリックして、先ほどメモった「データベーステーブルの接頭辞」と該当したデータを選択し、エクスポート
- 「サーバーの管理・設定」→「データベース」のページへ戻る
- 「ライトプラン」ではデータベースを1つしか作れない。なので現在のデータベースを一度削除して新たに作成する(恐い)
- 「スタンダード」以上の場合は現在のデータベースをとりあえずそのままにして「新規作成」する
- 新たに作成したデータベースの「データベース名」「データベースのパスワード」をメモる
- 新たに作成したデータベース(MySQL5.7)の「操作する」に先ほどメモった情報でログイン
- 新しいデータベースは空なので、先ほどエクスポートしたファイルをインポート
- エラー出なければ成功!(不吉なことを言うようですいませんが、エラー、出ること多いです。ほんとに。)
- 最初にダウンロードした「wp-config.php」を編集するので必ずコピーを取る
- 「wp-config.php」の「データベース名」「データベースのパスワード」を新しいMySQLの情報に書き換える
- ファイルマネージャー「ロリポップFTP」を開き書き換えた「wp-config.php」をアップロード
- サイトがきちんと動いていれば成功!
以上が簡単にまとめた手順です……はい、これから詳しく書いていきます。
MySQLバージョン更新手順(エクスポート)
では、自分のためにも詳細に書くつもりではいますが、手順が多いので淡々と書き進めたいと思います。淡々と。
バックアップを取る
それほど記事数が多くないブログでしたら(せいぜい100記事や200記事で画像やプラグインはそれほど多くない場合)プラグイン『All-in-One WP Migration』でバックアップを作っておけば万一データベースの更新に失敗してもまた丸っと移せばいいので非常に簡単です。
他所に最新バージョンサーバーを持っている方は、できたら一旦『All-in-One WP Migration』でサイトを丸ごと引っ越ししてみればデータベースの更新後にサイトに崩れが起きないかのテストも出来ますね。
当方ではご依頼を受けてバージョンアップする時は、当方のテストサイトに一旦移して確認させていただいています。

もっとも、他のサーバーをお持ちなくらいでしたらロリポップのライトプランは契約していないかな……とは思うので。
ダッシュボードの「ツール」→「エクスポート」からでもいいので、記事のバックアップだけは取っておきましょう。

ロリポップサーバーへログインする
ログインします。
「ロリポップFTP」を開き「wp-config.php」をダウンロード
これは別にここでやる必要もないのですが、「wp-config.php」ファイルの中には重要なデータベース情報が書かれており、データベースのアップグレード後はどうせこのファイルを書き直すためにダウンロードしなくてはならないので、ここでやってしまいましょう。
管理メニュー「サーバーの管理設定」→「ロリポップFTP」を開きます
「wp-config.php」は、ルートディレクトリ(一番上の階層)にあります。「wp-admin」「wp-content」「wp-includes」の3つのフォルダの10個くらい下にありますね。
ひじょうーーに重要なファイルなので慎重に扱ってください。

「wp-config.php」をダウンロード
パソコンにダウンロードしたら、コピーしてもう一つ作っておいてください。(ザックリ説明しますと、1つは書き換えの無い保存用・もう一つはアップグレードしたデータベースの情報に編集して再びサーバーにアップロードする「新データベース用」です)
「データベーステーブルの接頭辞」「データベース名」「ユーザー名」「データベースのパスワード」をメモる
データベース更新前の段階では、「wp-config.php」のお世話になるのはここの部分です。
「データベース名」「ユーザー名」「データベースのパスワード」「データベーステーブルの接頭辞」これをメモります(ダウンロードした「wp-config.php」を見ながら作業しても構いませんが……)
ファイルの個所としては27行目から(だと思います。なければ近辺をお探しください)
// ** MySQL 設定 – この情報はホスティング先から入手してください。 ** //
/** WordPress のためのデータベース名 */
define(‘DB_NAME’, ‘LAA1234567-abcde‘);
/** MySQL データベースのユーザー名 */
define(‘DB_USER’, ‘LAA1234567‘);
/** MySQL データベースのパスワード */
define(‘DB_PASSWORD’, ‘abcdefg‘);
/** MySQL のホスト名 */
define(‘DB_HOST’, ‘mysql123.phy.lolipop.lan‘);
/** データベースのテーブルを作成する際のデータベースの文字セット */
define(‘DB_CHARSET’, ‘utf8’);
/** データベースの照合順序 (ほとんどの場合変更する必要はありません) */
define(‘DB_COLLATE’, ”);/**#@+
* 認証用ユニークキー
*
* それぞれを異なるユニーク (一意) な文字列に変更してください。
↓↓↓
↓↓↓
何行か下を見て
↓↓↓
↓↓↓
↓↓↓
/**
* WordPress データベーステーブルの接頭辞
*
* それぞれにユニーク (一意) な接頭辞を与えることで一つのデータベースに複数の WordPress を
* インストールすることができます。半角英数字と下線のみを使用してください。
*/
$table_prefix = ‘wp_‘;
/**
上でマークした部分がMySQLのログインと作業に必要な部分になります。
「データベース」へ
1.「サーバーの管理・設定」メニューへ戻り「データベース」へ入ります。
「データベース一覧」は大抵の方は1つだと思います。(「ライトプラン」の方は絶対に1つです)
2.更新するデータベースの「操作する」ボタンをクリック。
3.データベースの入り口画面が出てきます。「php My adminを開く」をクリック。

4.「php My admin」のログイン画面です。
ここに、先ほど「wp-config.php」からメモった A.「ユーザー名」B.「データベースのパスワード」を入力し、「サーバーの選択」のプルダウンからC.「MySQL のホスト名」を探します。

5.「実行」を押します。
エクスポート
データベース(php My admin)の中に入れているはずなので……
1.左メニューからテーブルを選択してクリックします。

2.エクスポートをクリックします。

3.「詳細」を選択します
ここで先ほど「wp-config.php」からメモった「WordPress データベーステーブルの接頭辞」(今回の場合は”wp1_”)が必要になります。
この画像の場合は”wp1_”のみだったのでテーブル「全選択」で大丈夫でしたが、他の接頭辞が混在している場合は“wp1_”を選択してください(shiftキーを押しながらマウスでクリック選択)
重要!
ライトプランの方は1つのデータベースでいくつもサイトを運営しているでしょうから、全部エクスポートしてください!!この後でデータベースを削除するので他のサイトも無くなってしまいます!

5.「生成オプション」の上2つにチェック
下の方の項目はこのままで大丈夫ですが、「生成オプション」の上2つにはチェックを入れてください(デフォルトの状態では恐らくチェックが入っていません)
ここにチェックが入っていないとインポートの時にエラーが出ます!ライトプランの方は、この後、このデータベースは削除しなくてはならないので、ここはもうエクスポートはやり直せない戦いになります。
これは不要な心配事かも知れませんが、ライトプランの方はここでこの「生成オプション」の2つのチェック項目を「下だけチェックしたもの」(つまり一番上はチェックしない)と、「両方チェックしたもの」と、2種類のエクスポートを行って保存しておいた方がいいかも、知れません。かも、です。
なぜそんな面倒なこと……と思われるかもしれませんが、ライトプランの方はやり直しができない戦いだからです……。

6.「実行」する
あとは何もいじらず実行します。ダウンロードされた「SQLファイル」をパソコンに取り込んで、ひとまずエクスポート作業は終了です。


では、頑張って引き続き「インポート」へ入りましょう。ライトプランの方はもう間違えられない戦いに入りますので、よくよく見直してください
MySQLバージョン更新手順(新データベースを作成する)
それでは、今回の主目的である「新データベース MySQL5.7を作成する」作業に入ります。
と言っても作業自体は簡単です。
(注)ライトプランの方は真夜中に作業しましょう
旧データベースからデータをエクスポートし、新データベースにデータをインポートする。この間、サイトは一体どうなっているのかというと、別に何ともなっていません。
一番初めにダウンロードした「wp-config.php」の書き換え。それを行うまではサイトは旧データベースで反映されているからです。
しかし、それはスタンダードプラン以上の話です。
何度も繰り返しますが、ライトプランはデータベースを1つしか持つことが出来ません。
この後、新データベースの作成は、ただ「作成する」をポチポチするだけですが、ライトプランを契約している方は「作成する」ボタンがありません。
旧データベースを削除しないと新データベースを作成できないのです。
データベースを削除するとサイトは反映されなくなるので、ライトプランの方は作業が終わるまで「サイトが表示されない時間ができる」ということです。
なので、なるべく訪問者が来ない時間帯に作業した方が良いですね。
ホームに戻って「データベース」をクリック
まず、ロリポップの管理ホーム画面に戻り「サーバーの管理」→「データベース」に入ります。
「作成」をクリック
「スタンダードプラン」以上の方へのご説明になります。
先ほど申し上げましたが「ライトプラン」の方はここでは作成できません。現在あるデータベースを「操作する」から削除して、やっと1つ「作成」できるようになります。


新データベースを作成する
「MySQL5.7」のデータベースを作成します。
「作成するサーバー」はMySQL5.7の内、好きなものを選択。「データベース名」は任意の文字列。「パスワード」も自分で決めます。
データベース名と接続パスワードはメモすることを忘れずに!(この後、すぐ必要になります)


新データベースを「操作する」
5.7 のデータベースが出来上がりました!
「操作する」からいよいよインポートへ。


新データベースへ入る
「php My adminを開く」から中へ……「エクスポートの手順の時」と同じ内容の事を新データベースで行います。(php My adminログイン画面で、先ほどメモした新データベースのログイン情報を入力しましょう)
ライトプランの方はまずここで古いデータベースを削除してから「新データベースを作成する」へ入ります。


MySQLバージョン更新手順(インポート)
基本的には「エクスポート」と同じことをするだけです。
「インポート」
まず左メニューのテーブルをクリックして入り、「インポート」をクリックします。


ファイルを選択
先ほどエクスポートした「SQLファイル」をインポートします。(上チェックを2つ付けた方をインポートしましょう)
「実行」を押します。
何事もなくこれで終了すれば、お疲れさまでした。
一旦、ホッとできますね。
インポートエラーが出たら!
今回、お客様の代行をさせていただいた時の話ですが、エラーが出たのでご報告します。
対処は出来ました。


インポートエラー #1046 – No database selected
#1046 – No database selected
直訳すると「データベースが選択されていません」ですね。
これが、先ほどエクスポートの際に
「生成オプション」の上2つにはチェックを入れてください(デフォルトの状態では恐らくチェックが入っていません)
と書いた部分が原因で出るエラーです。
当方は下1つしかチェックを入れていなかったので、このエラーが出ました。以前は下にチェックを入れてあれば成功したのですが、今回はエラーになりましたので、先に警告させていただきました。
1つしかチェックせずにこの #1046 というエラーが出たときは、ここ2つにチェックを入れてエクスポートし直せば解決します。


インポートエラー #1044 – Access denied
#1044 – Access denied for user ‘[user_name]’ to database ‘[db_name]’.
ユーザー ‘[user_name]’ からデータベース ‘[db_name] へのアクセスが拒否されました。
対処としては、
1.エクスポートしたsqlファイルをテキストエディタで開く
2. こういう記述があるので
Database: 「古いDB名」
CREATE DATABASE ××× DEFAULT CHARACTER SET utf8 ××× COLLATE ××××××;
USE 「古いDB名」;
この「古いDB名」の部分を「新しいDB名」に書き換えて保存します。(書き換え前のバックアップはとっておいてください!)
3. あるいは、この2行をコメントアウトしてしまっても大丈夫です。(当方はそうしました)
Database: 「古いDB名」
/* CREATE DATABASE ××× DEFAULT CHARACTER SET utf8 ××× COLLATE ××××××; */
/* USE 「古いDB名」; */
これでインポートしてみて下さい。
インポートが成功したら「wp-config.php」の書き換え
さてもう一息です。お疲れ様です。
ここまで終わったら、最初にダウンロードした「wp-config.php」を書き換えます。
そう。
最初に古いデーベースへログインするために「データベーステーブルの接頭辞」「データベース名」「ユーザー名」「データベースのパスワード」をメモりましたよね。
あの部分を新しいデータベース情報に書き換えるのです。
だいぶ上の方なので、ここにもう一度書きますね。
「データベース名」「ユーザー名」「データベースのパスワード」「ホスト名」(「データベーステーブルの接頭辞」←これは同じですね。一応確認)これを新しいデータベースの物と書き換えます。
ファイルの個所としては27行目から(だと思います。なければ近辺をお探しください)
// ** MySQL 設定 – この情報はホスティング先から入手してください。 ** //
/** WordPress のためのデータベース名 */
define(‘DB_NAME’, ‘LAA1234567-abcde‘);
/** MySQL データベースのユーザー名 */
define(‘DB_USER’, ‘LAA1234567‘);
/** MySQL データベースのパスワード */
define(‘DB_PASSWORD’, ‘abcdefg‘);
/** MySQL のホスト名 */
define(‘DB_HOST’, ‘mysql123.phy.lolipop.lan‘);
/** データベースのテーブルを作成する際のデータベースの文字セット */
define(‘DB_CHARSET’, ‘utf8’);
/** データベースの照合順序 (ほとんどの場合変更する必要はありません) */
define(‘DB_COLLATE’, ”);/**#@+
* 認証用ユニークキー
*
* それぞれを異なるユニーク (一意) な文字列に変更してください。
↓↓↓
↓↓↓
何行か下を見て
↓↓↓
↓↓↓
↓↓↓
/**
* WordPress データベーステーブルの接頭辞
*
* それぞれにユニーク (一意) な接頭辞を与えることで一つのデータベースに複数の WordPress を
* インストールすることができます。半角英数字と下線のみを使用してください。
*/
$table_prefix = ‘wp_‘; (←確認)
/**
「wp-config.php」をサーバーにアップロードする
書き換えた「wp-config.php」をサーバーにアップロードするのですが、ここでアップロード前に。
このままアップロードしようとしてもエラーが出て出来ないのです。恐らく。
ロリポップでは「wp-config.php」の属性がデフォルトで400になっています。
これはセキュリティ措置で、ありがたいことなのです。
しかし、サイトオーナーも書き込み権限がない状態ですので、アップロードする前に「wp-config.php」の属性を600に書き換えます。


- 属性を600に書き換える
- 保存
- 書き換えたファイルを上書きアップロード
- 保存出来たら、また400に戻しておく
反映には少し時間がかかります。
味が馴染むまで待つ感じ……。
データベースの更新が終わると、かなりサイトスピードが速くなってサクサク表示される感覚を味わえます。やってよかった!と思えますよ。
コメント
コメント一覧 (8件)
すいません。
こちら参考になったので、この手順通りやってみたのですがエクスポートしたファイルが重すぎるみたいで(700MB以上)インポートでエラーになってしまい上手くいきません。(512MBまでとのこと)
なにか方法ありますでしょうか。
ロリポップに聞いたらサポート外とのことでした。
よろしければお願いします。
tokiさん、こんにちは。
こちらのお話、もしかしたらデータベースのエクスポートではなくて、All-in-One WP Migration プラグインでダッシュボードから取ったサイトのバックアップのファイルの事ではないでしょうか。だとしたら、こことは少し違うお話になります。(「512MB」という数字を見てそう思ったのですが、違ったらすいません。)
SQLファイルが700MBもあるとしたらかなり大きなサイトなのですね。
もしも、その中に違うテーブル(違うサイトのデータ)がいくつもいくつもあるとしたら、wp1_ wp2_ などテーブルごとに分割してエクスポートすると良いと思います。
テーブルが1つしかないのに700MBもあるという場合は、大変申し訳ありませんが通常はサーバー側に何とかしてもらうしかないと思います。
プラグインではなくデータベースの方に512という数値がありました。700MBはテーブル一つだけの容量です。
だめそうですね。。。
どうもありがとうございました。
tokiさん、こんにちは。
あとは、テーブルを分割してエクスポートし、インポートするという手もあると思います。
例えば、「wp_posts」のみ外してエクスポート、「wp_posts」のみエクスポート。
インポートも別々に実行するという手です。
慎重に作業すれば大丈夫だと思います。
参考になれば幸いです。
ありがとうございますm(_ _)m
ロリポップからこの記事を紹介してもらいましたm(_ _)m
コメントありがとうございます。
ロリポップさんの中の人からですか?!
ビックリしました!
ありがとうございます。
古いデータベースは削除して良いのでしょうか?
ご質問ありがとうございます。
はい。
サイトが新しいデータベースで安定していて、エクスポートしたバックアップに自信がありましたら削除しても大丈夫です。