MySQLのDBデータのお引越し

このサイトではありませんが、サーバーとしてXREA+を使ってます。そこでMODxとWordPressを最初にインストールしたものがあったんですが、これがまたMySQLの設定を良くわからないままやってしまったんで、MySQLのDB内で文字コードがおかしくて化け化けな状態... XREA+の管理画面でEUC-JPを選んでDB作成してしまったのが原因。でも、DB内では文字化けのデータなのに、フロントエンドからはMODxもWordPressも正常にUTF-8で表示されるもんだから、あんまり気にしないでいました。

ということで、この化け化けデータを一旦エクスポートして、新たにUTF-8でDBを作成してそっちにデータを引っ越す作業を行いました。手順は以下のような感じ...

  1. SSHができるように設定
    XREA+の管理画面からSSHができるようにホスト登録を行います。
  2. MySQLの文字化けデータをエクスポート
    サーバーにSSHで接続して、以下のコマンドでMySQL内の文字化けしているデータベースを全てダンプします。
    # mysqldump -u [MySQLユーザ名] -p --default-character-set=latin1 [データベース名] > [エクスポートされたデータのファイル名]
    どうして「EUC-JP」じゃなくて「latin1」なのかは謎... MODx側から確認したら何故か「latin1」でデータの出し入れをしていたので...笑(いい加減だ!)
  3. 文字コードの変換
    次にエクスポートしたデータの文字コードをUTF-8に変換します。
    # nkf -lw < [エクスポートしたデータのファイル名] > [変換後のファイル名]
    これを新たに作成したUTF-8のDBにインポートして、MODxとWordPress側で新しいDBに接続するようコンフィグを修正すればOK!

ということで、DB内も文字化けの無いクリーンな状態にすることができました~
それにしてもMySQLの文字コードは難しい... もっと勉強しなきゃね!
blog_ranking_banner.gif
ネット | comments (0) | trackbacks (0)

comments

comment form

trackback url

http://tkfm.net/sb.cgi/338

trackback

search this site
calendar
categories
recent comments
recent trackbacks
profile
others