MySQL Error number: MY-013977; Symbol: ER_BULK_PARSER_UNEXPECTED_ROW_TERMINATOR_LOG; SQLSTATE: HY000 报错 故障修复 远程处理
文档解释
Error number: MY-013977; Symbol: ER_BULK_PARSER_UNEXPECTED_ROW_TERMINATOR_LOG; SQLSTATE: HY000
Message: Unexpected row terminator found at row %ld in file ‘%s’. Data for some columns is missing.
MY-013977,Error:ER_BULK_PARSER_UNEXPECTED_ROW_TERMINATOR_LOG,SQLSTATE:HY000
错误说明
Error ER_BULK_PARSER_UNEXPECTED_ROW_TERMINATOR_LOG 是MySQL服务器发出的一个通用错误,表示在MySQL服务器上发现了意外的行终止符。
常见案例
最常见的情况是在用户将文本文件转换为CSV格式时出现此错误。 这是因为如果用户将一个文本文件转换为CSV格式时,它不包含适当的行终止符。有时缺失了字段内容,有时没有字段内容,有时未计算行终止符造成、低版本的Office应用程序或不兼容的文档格式也会出现这种情况。
解决方法
定位源文件并以文本格式打开它以进行检查。有时,尝试以字符模式分析文件可以检测出错误。另一个方法是确保CSV文件使用正确的行终止符。有时,使用双引号和括号,也可以帮助定位错误。
另一个解决方法是使用BULK API或LOAD DATA INFILE语句替换复杂的单行表达式,这样在大多数情况下可以避免这类错误的发生。还可以检查MySQL客户端和服务器之间的版本是否相同,它们可能不兼容或不兼容某些功能。 MySQl 8.0版本也提供了一种命令来查找问题。 要运行它,必须先启用audit_log_parser_variables,然后再运行命令。此外,可以使用 SHOW GLOBAL BULKDIAGNOSTICS 命令查看MySQL诊断日志,并找出问题。此外,用户还可以运行mysqldumpslow程序来跟踪用户引起的查询问题。