如何在加载数据期间禁用警告日志?

How to disable warning logs during LOAD DATA?

LOAD DATA INFILE 'sample.csv' IGNORE INTO TABLE mytable;

结果正常,但每行记录一个警告:

| Warning | 1261 | Row 1 doesn't contain data for all columns |
| Warning | 1261 | Row ... doesn't contain data for all columns |
| Warning | 1261 | Row 20000000 doesn't contain data for all columns |

但我对导入没有意见,甚至想阻止警告日志(例如,它们可能会影响性能)。我怎样才能禁用那些显式的?

虽然这不是理想的解决方案,但您可以禁用数据库的日志记录警告。 你可以尝试使用

SET GLOBAL LOG_WARNINGS = 0 

关闭日志记录和

SET GLOBAL LOG_WARNINGS = 1 

重新打开它。

也许 运行 在加载文件之前执行此操作,然后再将其重新打开。

更新: LOG_WARNINGS 已弃用,因此您可以使用它:

SET GLOBAL log_error_verbosity = 1;

这只会记录错误。之后可以设置为3(默认值)。

这里有一个参考:https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_log_error_verbosity