6

MySQL 5.6.5-m8 dev バージョンで動作します。
データベースをダンプしようとすると、次のエラーが発生しました。

user@ubuntu-11:~$ mysqldump -u root -p my_schema > dump.sql
パスワードを入力してください:
mysqldump: 'SET OPTION SQL_QUOTE_SHOW_CREATE=1' を実行できませんでした: SQL 構文にエラーがあります。MySQL サーバーのバージョンに対応するマニュアルで、1 行目の 'OPTION SQL_QUOTE_SHOW_CREATE=1' (1064) 付近で使用する正しい構文を確認してください。

誰でも問題についてアドバイスできますか?

4

6 に答える 6

11

MySQL 5.6 は廃止され、SET OPTION構文のサポートが削除されましたが、最新の mysqldump 5.5.30 (執筆時点) でさえもSET OPTION. つまり、mysqldump 5.5 は MySQL 5.6 サーバーからダンプできません。

参照: http://bugs.mysql.com/bug.php?id=67507

元の質問は 5.6.5-m8 の暫定的な問題だったのかもしれませんが、この質問を見つけた人は情報を利用できると思いました。

于 2013-03-19T08:56:04.950 に答える
4

この問題がありました。私が使用していた mysqldump クライアントは、サーバーよりも数バージョン遅れており、時代遅れの構文を使用していたことが判明しました。パスの前に古いバイナリがあるかどうかを確認します (おそらく /usr/bin/ にあります)。現在実行中の mysql バイナリと同じ場所 (おそらく /usr/local/mysql) にある新しいバイナリを探します。

于 2012-07-17T19:11:48.193 に答える
2

同じエラーが発生しました。/usr/bin に以前の MySQL 5.1 インストールから残ったバイナリがありました。バイナリが MySQL 5.6 の bin フォルダーにもあることを確認し、/usr/bin バージョンを吹き飛ばしました。その後、mysqldumpは正常に実行されました。

于 2012-10-05T20:24:35.230 に答える
1

Burhan Khalidの回答に+1

--force で実行し、dbdump.sql に出力し、互換性のないステートメントを編集します。

回避策のコマンド例:

mysqldump -uusername --ppassword --force データベース名 > dbdump.sql

dbdump.sql を編集して、mysql のバージョン間で互換性のないステートメントを修正します。 私にとってはタイムスタンプ式でした。5.6 のデフォルトの 'CURRENT_TIMESTAMP' から 5.5 のデフォルトの CURRENT_TIMESTAMP まで。

次に、dbdump.sql をインポートするか、必要な操作を行ってください。

于 2013-12-28T22:11:32.130 に答える
0

Workbench は MYSQL と同じ場所にはインストールされません。Workbench は、MySQL と共にインストールされるコピーに加えて、独自の sqldump のコピーと共にインストールされます。

ワークベンチ "C:\Program Files\MySQL\MySQL Workbench CE 5.2.47\sqldump.exe" = 5.5.16 MYSQL "C:\Program Files\MySQL\MySQL Server 5.6\bin\sqldump.exe" = 5.6.10.

MYSQL バージョンをワークベンチ ディレクトリにコピーしたところ、すべて正常に動作するようになりました :)

お役に立てれば!ここにリンクがあります

于 2013-06-18T05:55:24.447 に答える