Tweetwordpressの最新バージョン2.9が、いよいよmysql4.1以上を必要とするようになったので、さくらのmysql移行を行うことにした。前提として、さくらでmysqlをバージョンアップするには、一度データベースを削除して、さくらのコントロールパネル上で再作成する必要がある。バックアップ→DB削除→DB作成→DBインポート→アプリケーションの修正の手順をとる。バックアップsshでログインし、コンソール上で下記のコマンドを打つ。mysqldump.sql[]の部分は各自書き換えること。ポイントは、「mysqldump-4.0」というmysqldumpの4バージョンでコマンドを打つこと。(さくらでこれを置いているのはかなり気がきく。)4から4.1以降では文字コードの部分でだいぶ仕様が変わっているので、dumpされる内容が新バージョンとは違う。DB削除、DB作成データベースの削除、作成はさくらインターネットのサーバコントロールパネルから行う。ログインして「データベースの設定」メニュー→「データベースを削除」ボタンを押す。データベースが消えてしまうので、注意しよう。削除すると、作成の画面が表示され、mysqlのバージョンを選択して作成ができる。今回は「mysql5.1」を選択。データインポートデータをインポートする前に、DBのステータスを確認しよう。[dbhost]は変更されているのでさくらのコントロールパネルで確認しておく。secデフォルトの状態だと各charactersetが、ujis(eucJP)で統一されているので、Dbと今回接続しているClientのcharactersetをutf8に変更して、インポートする。mysqldump.sql1行目がDbのcharactersetを変更、2行目がこの接続している端末とのコネクションのcharacterset、そして3行目が実際にインポートしている部分。-v」で接続している場合、インポートしている様子が端末上に流れるでしょう。アプリケーションの変更dbhostが変更となっているので、DBに繋いでいるアプリケーションのホスト名を変更しておく。wordpressの場合は、「wp-config.php」というファイル。dbhost変更とともに、旧バージョンからバージョンアップしているwordpressの場合、クライアント側のcharactersetを明示的に指定していない場合があるようなので、dbhostの指定の下くらいに下記を追記しておく。Railsのようなアプリケーションでも「database.yml」に下記設定を明示的に追記してく。utf8前述のとおり、さくらはデフォルト「ujis」になっていて、my.cnfの設定を変更できないため、クライアント側でutf8で接続することを必ず明記するようにしよう。UedaWeb関連の会社でエンジニアをしています。最近はiOS,Androidの開発を中心に、その他サーバ周りもやってます。当ブログはインターネットテクノロジーを中心に、管理人の備忘録がわりに気づいたことを配信します。