さくらインターネットからSharkSpaceに移行するのに一番の問題がMySQLでした.MySQLは4.0と4.1とで文字の扱いが大きく変わっています.また,MySQLの文字の問題は環境によって様々なケースがあり,これをすれば良いという解決方法がありません.きちんと現状を把握して,それぞれの環境に合わせて解決するしかありません.詳しくは日本MySQLユーザ会のWikiを参照してください.ここではMySQL-4.0, 3.X を現在運用しているひとは原則今のままキープ,と言われてしまっています.

色々試行錯誤の結果,私の場合は,”さくらのレンタルサーバで MySQL 4.0 から 5.1 へ移行した記録”が参考になりました.以下に手順を書きます.

まず,私の場合,MySQL4.0の設定はujisでしたが,データ自体はutf8にしていました.そのため,データをそのまま取得する必要があります.そこで,敢えて5.xのmysqldump を使い,–default-character-set=utf8を指定することでうまくいきました.mysqldump-4.0はutf8に対応していないため,5.xのを使う必要があります.実行時に一つ文句を言ってきましたが,問題はないようです.

$ mysqldump --user=user --password=pass --host=db --default-character-set=utf8  dbname > dump

次にdumpファイルの中に記述されている以下の行をsedなどで全部除きます.

SET @saved_cs_client     = @@character_set_client;
SET character_set_client = @saved_cs_client;

その後,dumpファイルの最初に以下の行を加えました.これでdumpをリストアするときの環境をutf8にしてくれます.

SET names utf8;

ここまで準備できたら,SharkSpaceのcPanelでデータベースの設定をします.cPanelは日本語化されているのでやり方はすぐわかると思います.Panel内にデータベースの項目がありますので,そこでデータベースとデータベース用ユーザを作成し,ユーザに権限を与えれば良いです.データベースはusername_hogeというデータベース名であればいくらでも作れます.

また,phpMyAdminで作成したデータベースを選択し,操作 -> 照合順序のところで utf8_general_ci を選択しておきました.

最後にsshでアクセスして,mysqlコマンドでリストアすればOKでした.

$ mysql --user=user --password=pass --host=host dbname < dump

当サイトをSharkSpaceというホスティングサービスに移転完了しました.

さくらインターネットのスタンダードを今まで使っていましたが,色々問題がありました.まず,重かったです.特に管理画面が重く,いつまで待っても編集できないということが良くあったため,更新するのが億劫になっていました.また,自分がさくらを使い始めたときにはMySQL4.0.xしかなかったのですが,WordPress2.9からMySQL4.0をサポートしなくなったので,アップグレードできずにいました.現在さくらでもMySQL5.0.xが使えるのですが,どちらにしろ移行作業をしないといけないので,移転先を探していました.私が望んでいた要件は以下の通りです.

  1. ssh
  2. WordPressの速度
  3. MySQL5
  4. 容量 (Disk・転送)
  5. 価格

1. のsshがなかなか厳しい条件です.何故か未だにsshを提供しない,または条件付きのホスティングサービスが多いのです.sshでアクセスするのは基本だと思うのですが,この条件でかなり選択肢が減ります.国内で且つ低価格でsshを提供するのはさくらかxrea系列くらいです.また,4. Disk容量については,さくらスタンダードの3GBでは足りなかったのと,月の転送量が10GBを越えてきたので,それを余裕を持って上回るものを探す必要がありました.

この条件で探すと国内では割高なので,海外のホスティングサービスを中心に探していました.その中で,安定した評判を得ていたのはBlueHost系列 (BlueHost, HostMonster, FastDomain)でした.値段も6-7USD/monthからと,そこそこです.sshを使うには,アカウント作成後にPhoto ID (パスポートなど)を登録する必要があるというのが面倒ですが,それ以外は良さそうでした.

試しにHostMonsterとかを使ってみようかと思っていたところで,SharkSpaceという,聞いたことのないホスティングサービスを推薦しているサイトを見つけました(海外サーバーコレがイチばん!).読んでみるとなかなか良さそうなことが書いてあるので,海外のホスティングサービスフォーラムとかも見てみたところ,確かに地味に評判が良さそうでした.個人的にはsshがPhoto IDなしでいけそうだというところと,値段が安いことに惹かれて,使ってみることにしました.

値段は,真ん中のHammerheadコースの2年契約だと7.95USD/月(190.80USD/2年)なんですが,50%offクーポン(クーポンコード: 50offlife)があるので,3.975USD/月(95.4USD/2年)になります.今1USD=90JPYなので,大体360円/月です.これは安い.これでDisk容量が20GB,データ転送が500GBあります.PHPもモジュールで動きます.さくらのようにCGIモードではありません.

契約してわかったことですが,残念ながらsshを使うにはやはりPhoto IDが必要でした.仕方がないのでiPhoneでIDを写真に撮って,手続きしました.5分程ほどでsshアクセスできるようにしてくれたので,応対は良いですね.

今のところ,不満点はPhoto IDだけで,それ以外はかなり快適に使っています.まだcronで動かしているスクリプトがあるのでしばらくさくらも使いますが,少しずつ移していこうと思っています.

以下は参考サイトです.実際のMySQLの移転作業については別途まとめます.