mysqldumpから作成されたデータをロードするときに警告を表示するにはどうすればよいですか?


9

大規模な.sqlファイルに、大きな値を挿入する...値...ステートメントがあります。これらのステートメントの多くは、実行中に警告を生成しています。mysqlに警告を出力させるにはどうすればよいですか?

control-Cを押すと、インポートが停止し、OSのコマンドラインに戻ります。

SQLの実行からの出力例は次のとおりです。

Query OK, 9827 rows affected, 5403 warnings (0.20 sec)
Records: 9827  Duplicates: 0  Warnings: 5403

Query OK, 9859 rows affected, 5247 warnings (0.20 sec)
Records: 9859  Duplicates: 0  Warnings: 5247

回答:


10

mysqldをログ警告(デフォルトではオンになっている)と最大エラー数で起動する必要があります。

[mysqld]
log-warnings
max-error-count=9999999999

あなたはmysqlクライアントを起動する必要があるかもしれません

SET SQL_WARNINGS = 1;

これはmysqld設定ではなく、mysqlクライアントセッション設定です。

mysqlクライアントセッションにshow-warningsを追加することができます

mysql -u... -p -hlocalhost --show-warnings

このオプションは、これらの警告をサーバーのエラーログに出力しません。
tmcallaghan

最初の提案では、エラーログに警告を記録する必要があります。
RolandoMySQLDBA 2012年

mysqlクライアントに--show-warningsを追加すると、魅力的に機能しました。
tmcallaghan 2012年

1

MySQLのクライアントあなたも行うことができます。

mysql> tee import.log
mysql> source .\test.sql

次に、現在のディレクトリに作成されたimport.logファイルを表示します

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.