如何在加载数据期间禁用警告日志?
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
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