さくらインターネットのMySQLを4.0.6から5.1にアップグレード
スポンサーリンク
新しくこのブログを始めるにあたって、さくらインターネットのレンタルサーバーにインストールされているMySQLを、バージョン4.0.27から5.1にアップグレードしました。ウェブ上にいくつもの実行レポートがあり、それらを参考にすることですんなり終わったのですが、仕様の変更があったらしく、いくつかの点が先行するレポートとは異なっていたので、それらを反映したメモを残しておきます。
参考にさせてもらったのはこれらのサイトです。
手順は以下の通り。
さくらインターネットのコンパネからログインし、「データベースの設定」→「管理ツール」ログインと進みphpMyAdminにログイン。この時必ず、文字コードをUTF-8にしておく。データベースを選択しエクスポートを選ぶ。構造欄の「DROP TABLEを追加」と「IF NOT EXISTSを追加」にチェックを入れ、圧縮なしで保存する。sqlファイルがダウンロードされるのでUTF-8、bombなしで保存可能なエディタで開き、20行目あたりにあるCREATE DATABASE `hoge`;
を-- CREATE DATABASE `hoge`;
に変更しコメントアウトする…としているサイトがほとんどだったのですが、2011年5月に私がダウンロードしたときには、CREATE DATABASEという項目は初めからコメントアウトされていました。ということで、編集するところは無しとなりました。
さて、編集箇所がないのなら、圧縮ありでエクスポートしても、あとで困らないような気がします。圧縮なしでエクスポートする理由はsqlファイルを編集する必要があったからなのですが、編集しないのなら圧縮していても構いません。このあとMySQLをバージョンアップしsqlファイルをインポートするのですが、phpMyAdminでインポートできるsqlファイルには上限サイズがあり、この上限を超える場合圧縮してインポートすることになります。だったら初めから圧縮していた方が良いですよね。ただ、このあたりの変化がさくら全体に施されたのかどうか確認ができないので絶対確実にそうだ、とも言えないのですが…。確実に成功させるなら、成功報告の多い圧縮なしでのエクスポートにしておいた方がよいかもしれません。
さて次はさくらのコンパネに戻ります。「データベースの設定」→「データベースの削除」でDBを削除します。削除後、再び「データベースの設定」画面にアクセスすると新規DBの設定を求められるのでバージョン5.1を選びパスワードを設定。データベースサーバーのホストが変わっているのでアドレスを控えておく。
再びphpMyAdminにログイン。先ほどエクスポートしたsqlファイルをインポートします。照合順序は必ずutf8_generalciにしておきます。
さて、インポート可能なsqlファイルの上限サイズは8メガとしているサイトが多かったのですが、この点にも変化があり、2011年5月には上限が16メガになっていました。WordPressのテーブルはあっという間に容量が増大していくので、16メガを越えている人も多いかと思います。16メガを超えてしまった場合はbzip2形式に圧縮し、16メガ以下に縮めます。もし圧縮しても16メガを超えている場合、BigDumpというツールを使うことになります。この場合に関してはこちらのサイトが参考になります。
さくらインターネットでWordPressを2.9にアップデートするためにMySQLをバージョンアップ – カイ士伝
もう一つは、MySQLの移行を始める前に、余計なデータを削除しておくことですが、それは別に書くことにします。
インポートが終わるとwordpressフォルダの中にあるwp-config.phpを新しい設定に合わせた内容に修正します。DB_HOST
のところに先ほど控えておいた新しいデータベースサーバーのホスト名を入力し再びアップロードします。
以上でMySQLのバージョンアップは終了です。サーバー環境が大きく変わっていますので、サイトに不具合が出ていないかあちこちのページを見て確認しましょう。
スポンサーリンク
MySQLカテゴリーの投稿
- [MySQL] 数値を範囲で区切って集計
- [MySQL] UNIONとJOINを組み合わせて使う
- [MySQL] UPDATEで時間を加算・減算する
- [MySQL] datetime型カラムを時間単位で集計する
- [MySQL] カラム内の指定した文字列を置換する
- PHP、MySQL、CRONが使える無料レンタルサーバー「000.webhost.com」
- [MySQL] 日時のデータをもとに日別のデータを集計する
- [MySQL] カラム内の文字列の一部を一括置換する
- [MySQL][php] updateしたIDを知りたい場合はLAST_INSERT_ID()を使う
- MySQLバージョン4.x以前からエクスポートしたsqlファイルはTYPE = MyISAM を ENGINE = MyISAM に変更する