BLOG ENTRY

MySQLのバックアップ(mysqldump)とリストアと文字コード[MySQL]

noimages

前にもブログに書いたけどもっかい書いとこう。
mysqlのバックアップとリストア、んでmysqlの文字化けを解消するために文字コードの設定&指定をしてやります。
とりあえず文字コードはutf8で統一するケース。

MySQL設定

mysql/bin/my.cnf
をエディタで開いてそれぞれの項目に以下を追記

[shell]
[client]
default-character-set = utf8

[mysqld]
skip-character-set-client-handshake
default-character-set = utf8
character-set-server = utf8
collation-server = utf8_unicode_ci
init-connect = SET NAMES utf8

[mysqldump]
default-character-set = utf8

[mysql]
default-character-set = utf8
[/shell]

※補足ですけど、クライアントの文字コードを指定しても
例えばwindowsのコマンドプロンプトで操作する場合は文字化けしちゃいます(コマンドプロンプトはSJIS固定なので)

バックアップ(mysqldump)

特定のデータベースのみを指定する場合
[shell]
$ mysqldump -uユーザ名 -pパスワード名 データベース名 > dump.sql
[/shell]

特定のテーブルのみを指定する場合
[shell]
$ mysqldump -uユーザ名 -pパスワード名 データベース名 テーブル名 > dump.sql
[/shell]

特定カラム条件だけバックアップしたい場合
[shell]
$ mysqldump -uユーザ名 -pパスワード名 -t -wカラム名=\"quall\" データベース名 テーブル名 > dump.sql
例えばこんな感じで。。
$ mysqldump -uquall_user -pquall_pass -t -wquall_colomn=\"quall\" quall_db quall_table> /home/test/test/quall_080619.sql
[/shell]

dump時に文字コードを指定する場合
[shell]
$ mysqldump -uユーザ名 -pパスワード名 –set-charset=utf8 > dump.sql
[/shell]

リストア(復元)

[shell]
$ mysql -u ユーザ名 -pパスワード データベース名 < dump.sql
[/shell]

データベース作成時(create database)の文字コード指定
[shell]
mysql> CREATE DATABASE データベース名 CHARACTER SET utf8;
[/shell]

文字コードを見る

デフォルトの文字コード設定を見る
[shell]
mysql> SHOW VARIABLES LIKE ‘char%’;
[/shell]

データベースの情報を見る
[shell]
mysql> SHOW CREATE DATABASE データベース名;
[/shell]

テーブルの情報を見る
[shell]
mysql> SHOW CREATE TABLE データベース名;
[/shell]

終わり。

  • name:MySQLの初期設定やmy.cnfのチューニング | Web&MUSICブログ QUALL
  • date:2009/06/16
  • […] で、後は文字コードの設定をかましつつ、 各パラメータのチューニングを行う、と。 […]

  • type:ピンバック [ ]

  • name:MySQLの初期設定やmy.cnfのチューニング | QUALL
  • date:2009/06/26
  • […] で、後は文字コードの設定をかましつつ、 各パラメータのチューニングを行う、と。 […]

  • type:ピンバック [ ]

    WRITE COMMENT


    (required)


    (required)


    (required)

    MENU

    veltica creative of twitter