SEO対策ならSEO knowledge

TOPデータベース>MySQL

MySQLのバックアップデータをUTF8で復元する

【mysqldumpによるバックアップ】

# mysqldump --default-character-set=latin1 -u root -p dbname > /home/
backup.sql

今回はデフォルトがlatin1だったのでオプションで指定。ファイルをひらくと、きれ いに日本語が表示されているのを確認。

【サクラエディタで内容を確認】
mysqldumpしたファイルをUTF8で開いたサクラエディタにコピーしてUTF8の形式で保存する。UTF8にするためにbackup.sqlの一番上に

SET NAMES utf8;

を記述する。これでMySQLにUTF8で入力されます。

【データを復元する】
データを復元するとき

Got a packet bigger than 'max_allowed_packet' bytes

というエラーがよく出ます。おそらくデータを入れるときにサイズがでかすぎると言っています。これはオプションで --max_allowed_packet を使います。

mysql --max_allowed_packet=128M -u root -p dbname < /home/backup.sql

メモリの容量は適宜変更します。これでも上手くいかない場合は/etc/my.cnfに設定を書きます。

[mysqld]
・・・
・・
・
max_allowed_packet=128M

[mysql.server]

MySQLを再起動させて復元します。

# service mysqld restart 
# mysql -u root -p dbname < /home/backup.sql

以上でUTF8としてバックアップしたデータが復元されました。 ちなみにこれでphpmyadminからでも日本語での表示を確認することができました。

 このエントリをはてなブックマークに登録 このエントリをlivedoorクリップに登録 Yahoo!ブックマークに登録 このエントリを del.icio.us に登録 Google Bookmarks に追加
[ 新規 | 編集 | 削除 | 凍結 ]    [ 新着 | 履歴 | ヘルプ ]

この記事に関連する求人

携帯サイト

携帯サイトはこちら

QRコード

http://it.kndb.jp/m

記事を書く

関連エントリ

関連ブックマーク

ページ上部へ