MySQL4を5にバージョンアップ

パソコン / 2012年4月13日 】

私はさくらのレンタルサーバーでMavable Typeを利用して,ブログを作成しています。

Movale Typeはサーバー上にアップして,そこで働かせるプログラムなのですが,それがver4からver5にアップしたということで,私も流行に乗らなければ・・・!と,さっそく,パソコン音痴のくせにMovable Typeのバージョンアップに取り組んだのでした。

まず・・・というか,一番の大きな障壁は,Moable Typeを4→5にするためには,

「サーバー内にあるデータベースMySQLのバージョンもあげなければいけない」

ということでした。

しかし,このネットの発達した世の中です。検索すればいくらでも,「MySQLのバージョンアップの方法」なんて出てきます。「これを真似してやればちょろいちょろい!」と思ったのが,運の尽き。

結論からいうと,もう一歩のところで「データベースの全データを消失!」という恐ろしい作業になりました。後々のために手順と留意点を記事にしておこうと思います。

手順は,それほど難しくなく,以下の通り。

1 データベースのエクスポート

2 DBファイルの編集

3  DBファイルの圧縮

4 MySQL4のDBの削除

5 MySQL5のDBの作成

6 phpMyAdminの設定変更

7 DBファイルのインポート

8 wp-config.php / mt-config.cgiの編集

【データベースのエクスポート時に気をつけること】


データベースのエクスポートでの時に,
● 「構造(チェックが入っています)」欄の「DROP TABLEを追加」と「IF NOT EXISTSを追加」にチェックを入れる.

「ファイルに保存する」にチェックを入れ,圧縮は「なし」にする.→圧縮してもよいようですが,この後のインポートがうまくいかなかったとき,エクスポートしたファイルを分割する必要がでてくるので,圧縮しないほうがよいようです。

「データ」の「長いINSERT文を作成」にチェックいれます。作成するクリエの最長幅は「5000」ぐらいでよいようです。→後でインポートする際に,一つのinsert文の行数が多くなりすぎるのを防ぐためです。

「エクスポートしたファイル」のコピーをとるべし。この時にUTF-8で開く事を厳守!

それから,ワードパッドやメモ帳で開いてはいけません。私はこれをやっちまって,文字化けに見舞われました。Tarapadなどのエディタで開きましょう。

export1.jpg

【DBファイルの編集の時に気をつけること】

私がDBファイルの編集に関して参考にした記事では次のようになっていました。

データベース名がhogeとだとすると、エクスポートしたsqlファイルには先頭に「DB名hogeのデータベースを作成する」との内容の命令文が1行書かれています。しかし、さくらでDBを作成すると自動的のこのhogeのDBが作成されています。このsqlファイルをこのままインポートすると「DB名hogeのDBはもう既にあるよ!」とエラーが発生してインポートがストップしてしまいます。そこでこの命令文をコメントアウトしてやります。テキストエディタでsqlファイルを開きます。
上から20行目あたりにある

CREATE DATABASE `hoge`;

を以下のようにコメントアウトします。

-- CREATE DATABASE `hoge`;



●理由はわかりませんがこれは、次のようにさらにもう1行コメントアウトする必要がありました。

-- USE `hoge`;

【データベースの削除と,新しいデータベースの作成の時に気をつけること】

さくらインターネットでは,「データベースの削除」や「データベースの作成」はサポート外になり,個人責任になります。そして,データベースを削除してしまうともう後戻りができません。念には念を入れて,バックアップをとり,オリジナルのバックアップは手をつけずにそのままにしておくのが賢明です。
なお,新しい方はデータベースサーバ名も以前とは違うものが割り振られます.

【DBをインポートする前のMySQLの設定でやっておくこと】

●PHPMyAdminを開いて,「操作」タブを開きます。そして一番下にある「照合順序」を変更します。ここをエクスポートした時のDBの照合順序に合わせます。Movable Typeの場合、「utf8_generalci」でよいようです。

【バックアップファイルからインポートする時に気をつけること】

phpMyAdminでログインし,データベースに入ったら,一番上のタブにある「インポート」をクリックし「参照」ボタンをクリックして,ローカル上にあるsqlファイルを選択してインポートします.
問題がなければ,すんなりインポートされて「めでたしめでたし」になるはずでしたが,私はエラーエラーの連続で,ここで2週間ぐらいを費やしました。
原因のひとつは,私がSQLのことを何もしらないのに,バックアップのSQLファイルに手をつけ,やみくもに改行したり,変な圧縮をかけてみたり,分割してみたりするなどしてしまったことです。上にも書きましたが,オリジナルのバックアップを編集するのはやめましょう。コピーをとってそれをいじりましょう。

●phpMyAdminを使ったSQLファイルのインポートにはサイズの大きいSQLファイルはうまくインポートできないようです。その場合は「BigDump」というインポートツールを利用します。

→参考サイト「小粋空間」phpMyAdminでインポートできない大きなファイルを一気にインポートできる「BigDump」

実際は,このツールを使っても,私はインポートを失敗しました。
インポートに成功すると,MTの場合だと,39個のテーブルが存在すれば完了ということらしかったのですが,私の場合,13個のテーブルしかできていなくて,またまたエラーがでまくりでした。もうどうしていいのかわからないまま,1週間ぐらいがすぎてしまいました。

【インポートの最終手段】

最終的に私は,phpMyAdmin→新しいデータベース→SQLタブと進んで,
「データベース×××× 上でクエリを実行する」
というところに,バックアップしたSQLファイルから,テーブル一つずつ「CREATE TABEL」を一区切りにしながら,コピー&ペーストして実行していきました。
ありがたいことに,この方法ではエラーがでず,39個テーブルすべてが作成できました。

知っている人にはあたりまえの方法なのかもしれませんが,私がこれでテーブルが作成されると気がついたのは,ほんとに偶然でした。・・・・なんにしても1月以上かかった大仕事になってしまいました。

え?Movable Typeのバージョンアップはしたのかって?


まだですよ~。

トラックバック(0)

このブログ記事を参照しているブログ一覧:MySQL4を5にバージョンアップ

このブログ記事に対するトラックバックURL:http://charliebrown.sakura.ne.jp/mt/mt-tb.cgi/1510

コメントする