3

このスレッドのガイドラインを使用して、データベースのmysqldumpファイルを正常に作成しました。また、2番目のデータベースを作成し、ディレクトリに移動して新しいデータベースに復元しようとしましたが、失敗しました.2つの方法を試しました:myDump.sqlmyDb1myDb2myDump.sqlmyDb2

> mysql -u root -p myDb2 < myDump.sql;
> -- entered password

と:

> mysql -u root -p
mysql> -- entered password
mysql> USE myDb2;
mysql> SOURCE myDump.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. Query: ' ■-'.

また、新しいデータベースに古いデータベースと同じデータベース名を使用する必要があるかどうかも知りたいです。別の同じ名前で試しましたが、この同じ結果エラーが発生しました。

4

2 に答える 2

5

これは、コーディング システムが原因である可能性があります。
PowerShell でリダイレクト (">") を使用してダンプ ファイルが生成され、同じ問題が発生しました。出力リダイレクトにより、UTF-16 リトル エンディアンのファイルが生成されました。

ただし、これはダンプファイルを utf-8 に変換することで解決できます。これは、次のように emacs で実行できます。

Mx set-buffer-file-coding-system

次に、ファイルを保存して再度インポートします。

ファイルのコーディング システムは、GNU「ファイル」ユーティリティを使用して検出できます。これは Windows でも利用でき、次の場所にあります : http://gnuwin32.sourceforge.net/packages/file.htm
次のようなコマンド:

mysqldump <データベース名> -r <ファイル名>

于 2013-11-20T03:54:24.030 に答える
0

ファイルを確認してください。myDump.sqlファイルのコーディング エラーである可能性があります。これらのガベージ文字がこの問題の原因です。問題を解決するには、ガベージ文字を削除します。

Sequel Pro で開くと、これが表示されます

`í}k¯]ÇÝçðWÜ?øy«««_%c�sè;¶`Ìô hãEE¤"8Áü÷ô>ûqzW¯:êmX0`²¸yyëÔºµë¹êGw?û+þ{ð£»g¯ÿçw¯¿ºû/ß¾¹{ö/ï^}÷§oªô__ûöË7_ß'éÁªà¿¿{÷ÍÇ}ôý÷ßOo/ãoßL_¼ùÓG×?ûâÍ«×Óß¼ùãW¯/òÍGË?`
于 2014-10-20T03:16:51.133 に答える