# プログラミング # 技術的な話題# 技術的な話題-MySQL# 技術的な話題-さくらインターネット

MySQLをコマンドラインからバックアップすると文字化け発生(未解決)

さくらインターネットMySQLのバックアップを取る場合、phpMyAdminを使ってエクスポートを行うのですが、データベースでUTF8を使っている場合、コメントはEUC-JP、テーブルデータはUTF8というイヤーな感じの文字化けが発生します。 これは相当に気持ち悪いんで、SSHで直に繋いでバックアップを取ることにしました。

mysqldump —host=mysql99.db.sakura.ne.jp —user=user_name —password=password —opt -Q database_name > /home/yuki2021/db_dump.sql

上記でエラー発生。

mysqldump: Error: ‘You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near ‘SELECT DISTINCT LOGFILE_GROUP_NAME FROM INFORMATION_SCHEMA.FILE’ when trying to dump tablespaces mysqldump: Got error: 1044: Access denied for user: ‘yuki2021@%’ to database ‘database_name’ when selecting the database

ググってみたところ、さくらインターネットMySQLのバージョンが4.0の時に発生するエラーの模様。

ひとまず訂正して、もう一度コマンドを入力。

mysqldump-4.0 —opt -Q —host=mysql99.db.sakura.ne.jp -u user_name —password=password database_name > /home/yuki2021/db_dump.sql

今度はすんなりと通る。しかしファイルを開けてみると文字化け! ざっけんなと悪態を吐きつつ、おもむろにコマンドを変更。

mysqldump-4.0 —opt -Q —host=mysql99.db.sakura.ne.jp -u user_name —password=password —default-character-set=utf8 database_name > /home/yuki2021/db_dump.sql

mysqldump-4.0: Character set ‘utf8’ is not a compiled character set and is not specified in the ‘/usr/local/mysql/4.0/share/mysql/charsets/Index’ file

タラヲよりうぜぇ…。mysqldumpの文字化けは対処方法があったなということでまた変更。

mysqldump-4.0 —opt -Q —host=mysql99.db.sakura.ne.jp -u user_name —password=password —default-character-set=binary database_name > /home/yuki2021/db_dump.sql

mysqldump-4.0: Character set ‘binary’ is not a compiled character set and is not specified in the ‘/usr/local/mysql/4.0/share/mysql/charsets/Index’ file

( ゚∀゚)アハハ八八ノヽノヽノヽノ \ / \/ \

mysqldump-4.0 —opt -Q —host=mysql99.db.sakura.ne.jp -u user_name —password=password —default-character-set=latin1 database_name > /home/yuki2021/db_dump.sql

今度は問題なくとおる。しかしvimで確認すると文字化け。。 phpMyAdminからエクスポートしたファイルを秀丸で修正することに。。

さくらインターネットMySQLはバージョン5.0に変えることにしました。さらばタラヲ。

□参考サイト様 MySQL mysqldumpでUJISのテーブルをバックアップする方法 MySQL 4.1 から 5.0に、文字化けせずにmysqldumpでデータを移行する - Goodpic