質問: windowsで、mysqlファイルをdumpしてリストアがしたいです。 データベースの文字コードはUTF-8に設定してあり、mysqldumpのコマンドで「--default-character-set=utf8」のオプションをつけていても、dumpファイルをメモ帳で開くと文字化けしてしまいます。 最悪、dumpファイルは文字化けしていてもリストアしたら元に戻ればいいと思い、以下のような作業を行いました。 「C:\Program Files\MySQL\MySQL Server 5.7\bin\mysqldump --default-character-set=binary db_name1 > 20160803.sql」というコマンドを実行し、dumpファイルを作成。 このファイルでリストアしようと「C:\Program Files\MySQL\MySQL Server 5.7\bin\mysql --default-character-set=binary db_name2 < 20160803.sql」というコマンドを実行すると、以下のようなエラーメッセージが出てしまいます。 「ERROR: ASCII '\0' appeared in the statement, but this is not allowed unless option --binary-mode is enabled and mysql is run in non-interactive mode. Set --binary-mode to 1 if ASCII '\0' is expected.」 「--binary-mode=1」というオプションをつけてみたのですが、sql syntaxエラーで出てしまい途方に暮れている状態です。 どのようにしたら解決できるか教えて頂けないでしょうか?よろしくお願いします。
回答: `C:\Program Files\MySQL\MySQL Server 5.7\bin\mysql -D db_name2 --default-character-set=binary` でまずはクライアントを起動、ログインしてから `source 20160803.sql` とするといかがでしょう。 **追記** それでもダメなら、ログイン後に `set character_set_client=binary;` を打ってから `source 20160803.sql` としてみていかがでしょう。