2011年3月全くのゼロからタイ語学習をスタート!同年9月から現在に至ってはタイのバンコクに滞在中。バンコクの生活情報やタイ語留学でのおすすめ勉強法や教材などをご紹介していきます。by タイ在住わらしべ長者
エックスサーバーでMySQL5.0と5.5があり『MySQL5.5移行ツール』が使えない時の移行手順
記事公開日:2017年2月19日
最終更新日:2022年8月19日
本日はアッチ系の記事となります。対象者じゃない方はスルーして下さい。
さて、先日久々にエックスサーバーにあるツールを設置しようとすると...
Sponsored Link
上記のようなエラーが表示された。その文脈を翻訳してみると『mysql拡張機能は廃止予定で今後削除されます。』みたいな内容が明記されている。
そういえばWPのデータベースが『MySQL5.0』の古いバージョンのままだった事を思い出した。
それが原因と考え、さっそくエックスサーバーが推奨している『MySQL5.5』へ移行しようとすると問題発生!
サクッと『MySQL5.5』へ移行出来るかと思いきやエックスサーバーが提供している『MySQL5.5移行ツール』が使えない状態になっていた。当記事はその理由と問題解決した『MySQL5.5』への移行の仕方を画像を使って詳しく解説します。少し長文となっています。悪しからず
エックスサーバーの『MySQL5.5移行ツール』が使えない理由
データベースにMySQL5.0とMySQL5.5が同時に存在する。その場合、上段にある『MySQL5.5移行ツール』が使えず、『MySQL5.5』へ統一させるための移行手順がちとややこしい。ちょいリスクを伴う。
分かりやすく言うとこんな感じです。
MySQL設定のMySQL一覧から確認すると『MySQL5.0』と『MySQL5.5』が同時に存在している状態だ。長くエックスサーバーを利用してる方でなおデータベースをMySQL5.5へのアップするのが面倒で放置していた方はこのようになっているはず。(;^_^A
いざ、エックスサーバー側が提供してくれている『MySQL5.5移行ツール』を使おうとしてもこのように『MySQL5.0』と『MySQL5.5』に同時に存在していると『MySQL5.5移行ツール』が使えない問題が発生(゚Д゚;)ガビーン!!
▼次の条件に該当する場合、移行ツールは利用できません。
『MySQL設定』にてMySQL5.5のユーザ・データベースを作成されている場合
MySQL4およびMySQL5.0にて同一のユーザ・データベースが作成されている場合
試しに『MySQL5.5移行ツールの利用を開始する』をクリックしてみると...
やはりMySQL5.5にユーザが存在しています。MySQL5.5のユーザーはすべて削除した上で、移行を行ってください。との警告が表示され『MySQL5.5移行ツール』が利用できない。
MySQL5.5移行ツールを利用する為には一旦、MySQL5.5のデータベースで作ったサイト群を削除しなければならない。
うぉー面倒くせぇ!Σ( ̄□ ̄|||)
しかも去年には1000記事以上も投稿しているタイBLOGの方もFC2からワードプレスへ移行させたがもちろん『MySQL5.5』のデータベースだ。しかもマルチサイト化させているので下層にある子サイト全てが一旦削除した後に上手く復元できるかが不明だった。実際WPのマルチサイト化についての最新情報はネット上に少ないので不安MAX(汗)
面倒やからこのまま『MySQL5.0』を使い続けようかとも考えたが下記のサイトにはこう記述されている。
2011年12月31日をもってMySQL 5.0のプロダクトライフサイクルが終了しました。今後MySQL 5.0に対して新たなバグ修正やセキュリティ修正は提供されません
(参考サイト⇒ 2012-01-01 MySQL 5.0のプロダクトライフサイクルが終了
)
そんなワケでゆくゆくは『MySQL5.0』は利用不可となり『MySQL5.5』へと完全移行せざるを得ないタイミングが訪れるのは容易に推測出来た。
以前の『MySQL5.0』のサイト群から『MySQL5.5』への移行作業を今やっていないと今後ワードプレスで作成するサイトのデータベースは全て『MySQL5.5』なワケやし、結局はそれらをいつかは削除しない限り『MySQL5.5移行ツール』が利用できない。っちゅーことは。。。
やるなら今でしょう!
と言う結論に至ったわけです。はい
つか、これが言いたかっただけやろ?ってなツッコミは要らんよw( *´艸`)
そうと決まったら面倒だけどさっさと行動に移すべし!
まずはワードプレス『MySQL5.5』で既に作成されたサイト群のデータベース(※以下DB)をバックアップします。①エックスサーバーのサーバーパネル⇒ ②データベース⇒ ③phpmyadmin(MySQL.5.5)へログインしてDBをバックアップします。DBのバックアップ方法の詳細は割愛します。
バックアップが完了したらいよいよ『MySQL5.5』のDBを削除していきます。ドキドキ...(;´∀`)
『MySQL5.5移行ツール』を使う為に既存の『MySQL5.5』を削除
MySQL設定のMySQL一覧から『MySQL5.5』と表記されているデータベースを削除していきます。
MySQLデータベースの削除(確定)をクリック。
『MySQLデータベースの削除を完了しました。』と表示、『MySQL5.5』のDBが全て削除されるまでこの作業を繰り返します。
【参考サイト】
◆MySQL5.0とMySQL5.5がある場合の移行方法(外部リンク)
MySQL設定のMySQL一覧から『MySQL5.5』のDBが削除されているのを確認したら、次は【MySQLユーザ一覧】から『MySQL5.5』のMySQLユーザも削除します。
先ほどと同じく横にある【削除】ボタンから『MySQL5.5』のバージョンを削除します。
削除するMySQLユーザとホスト名を確認して問題なければ【MySQLユーザの削除(確定)】をクリック。同じくこの作業を繰り返し全ての『MySQL5.5』バージョンのMySQLユーザの削除を行います。
すべての『MySQL5.5』を削除し終わったら【MySQL一覧】と【MySQLユーザ一覧】には『MySQL5.0』のみが表示されているはずです。それを確認したらようやくエックスサーバーが提供する『MySQL5.5移行ツール』を利用する事ができます。
『MySQL5.5移行ツール』の使い方
サーバーパネルからデータベースにある『MySQL5.5移行ツール』を選択。
『MySQL5.5移行ツールの利用を開始する』をクリック。
赤文字で移行未完了となっている右側に【移行(確認)】ボタンがあるので全てクリックする。
【MySQL5.5へデータベースの追加(確定)】ボタンをクリック。
データベースの移行を完了しました。と表示され、この作業を全ての【MySQL5.0】DBに行います。
このように先ほどの移行未完了となってる状態が【移行完了】になればOK.。
最後に移行完了手続き【バージョンMysql5.5に移行する(確認)】をクリックすればすべての完了です。その前に下段に明記されている注意事項『MySQL5.5移行ツールについて』も一読されておいて下さい。
お疲れ様です!
すべてのデータベースが『Mysql5.5』に移行されるとエックスサーバーのサーバーパネル画面ががこのように表記されます。
移行前と移行後ではデータベースの項目がスッキリしました。(^^)/
【MySQL設定】のページ下段にあるMySQL5.5情報で、MySQL5.0ホスト名 【mysql66.xserver.jp】から、MySQL5.5ホスト名 【mysql66a.xserver.jp】と変更されているのも確認できます。
ここで「はぁーやっと終わった~( ´ー`)フゥー」と安心してはダメです!
と言うのもこのままじゃMySQL5.5ホスト名 【mysql66a.xserver.jp】になっているにもかかわらず、以前のデータベースMySQL5.0で作成されたサイトの『wp-config.php』が未だMySQL5.0ホスト名 【mysql66.xserver.jp】のままになってるので記述を書き直さなければなりません。
試しにこの状態で以前のデータベースMySQL5.0で作成されたサイトにアクセスしてみると...
データベース接続確立エラーと日本語で表示される。もしくは英語で
Error establishing a database connectionと表示されてMySQL5.0で作成されたサイト群が表示されません。事前の予備知識がなけりゃ俺っちもビビっていたかもしれません。Σ(・ω・ノ)ノ!
さっそくそれぞれのサイトの『wp-config.php』の記述ホスト名 を 【mysql66.xserver.jp】から【mysql66a.xserver.jp】と書き換えていきます。今回はFFFTソフトを利用して指定WPサイトの『public_html』直下へいく。
データベース接続確立エラー表示の解決方法
指定のワードプレスサイトの『wp-config.php』ファイルを一旦ローカル(自分のPC内)へ保存します。
ローカル(自分のPC内)で『wp-config.php』の記述ホスト名 を 【mysql66.xserver.jp】から【mysql66a.xserver.jp】へと書き換えし、保存したら再度FFFTソフトから『public_html』直下へ『wp-config.php』をアップロードします。
『wp-config.php』の記述が書き換えられましたので先ほどエラー表示(データベース接続確立エラー)のサイトへアクセスしてみて下さい。無事にサイトが表示されているはです。万が一、記述に間違いがないにもかかわらずエラー表示のままなら【Ctrlキー】+【 F5キー】を同時押ししてページをリロード(再読み込み)してみて下さい。古いキャッシュが表示されているだけかもしれません。
この作業をすべてのサイトに施してようやくデータベース【MySQL5.0】から【MySQL5.5】への移行は完了となります。
が、
今回『MySQL5.5移行ツール』を利用するにあたって事前に削除しデータベース【MySQL5.5】のサイトを復元しなければなりません。
既に長文ですが復元方法までそのまま追記します。
MySQLデータの復元とMySQLデータのインポート方法
MySQLデータの復元
MySQL設定の【MySQL追加】から該当サイトを元の状態に復元する為に削除する前の【MySQLデータベース名】をそのまま入力します。そして【MySQLの追加(確認)】ボタンをクリック。
【MySQLデータベースの追加(確定)】ボタンをクリックすると『MySQLデータベースの追加を完了しました。』と表示されるはずです。
次に【MySQLユーザの追加(確定)】をクリック。
こちらも以前と同じ『MySQLユーザID』と『パスワード』を入力して【MySQLユーザの増加(確認)】をクリック。
次に【MySQL一覧】の『アクセス権所有ユーザ』項目で「ユーザーはいません」となっている箇所の『アクセス権未所有ユーザ』横にあるプルダウンメニューから今しがた追加したデータベースを選択します。
【追加】をクリックすると『アクセス権所有ユーザ』に追加されていればOKです。
MySQLデータのインポート
ここからは『MySQL5.5移行ツール』を利用する為に事前に削除した【MySQL5.5】のデータをインポートしていきます。
もちろんバックアップ済みと言うのが前提となります。
【MySQL5.5】への移行が完了したので『MySQL一覧』のバージョンは全て【MySQL5.5】となっているはずです。では早速一旦削除したデータベースを復元していきます。
データベースの【phpmyadmin(MySQL5.5)】へ
認証画面がポップアップするので【ユーザー名】と【パスワード】を入力してログインボタンをクリック。
もしも【ユーザー名】と【パスワード】と忘れた方は先ほどの『wp-config.php』ファイルから確認する事が出来ます。
【phpMyAdmin(MySQL5.5)】にログイン出来ましたら画像を見ながら下記の手順で復元作業を行います。
①該当データベースになっているか確認。
②元のDBを復元するのに上段にあるインポートタグを選択。
③アップロードファイル:【ファイルを選択】選択をされていません(最長: 200MiB)
④上記の【ファイルを選択】をクリック。
⑤ローカル(自分のPC内)からバックアップしておいた『splファイル』を選択。
⑥開くをクリックするとアップロードされます。
⑦最後に【実行】ボタンをクリック。
多少アップロードに時間が掛かりましたがインポートは正常に終了しました。1106個のクリエを実行しました。と無事に表示。
今回一番心配していたマルチサイト化しているタイBLOG(1000記事以上)もどうやら問題なく下層の子サイト全てインポート出来たようです。
ということで『MySQL5.5移行ツール』を利用する為に一旦削除したデータベース【MySQL5.5】のサイトも無事に復元されました。
お疲れさまでした!m(_ _)m
誰かのお役に立てれば幸いです。⇒ エックスサーバーとは?
コメントフォーム