sql_ERROR: ASCII
来源:互联网 发布:商品销售数据分析 编辑:程序博客网 时间:2024/06/05 14:18
由 ASCII '\0' 引起的MYSQL SOURCE错误
今天在群里面有一个朋友给出一个错误:
source test.sql
ERROR:
ASCII '\0' appeared in the statement, but this is not allowed unless option
--binary-mode is enabled and mysql is run in non-interactive mode. Set --bin
ary-mode to 1 if ASCII '\0' is expected. Query: ''.
以前没见过这个错误,于是仔细看了一下。先根据报错查看--binary-mode的意思:
--binary-mode By default, ASCII '\0' is disallowed and '\r\n' is
translated to '\n'. This switch turns off both features,
and also turns off parsing of all clientcommands except
\C and DELIMITER, in non-interactive mode (for input
piped to mysql or loaded using the 'source' command).
This is necessary when processing output from mysqlbinlog
that may contain blobs.
意思就是ASCII '\0' 是不允许的,除非在binary mode下,为什么会不允许呢?
原因在于一个存文本模式的sql脚本不可能存在'\0','\0'对应ASCII的00,NUL,我们知道在纯文本模式下,任何字符都对应自己的编码,即使是空格、换行、回车、制表符等
,00 NUL只会在二进制模式的文件中才有,当使用非交互模式的时候,比如
在mysqlbinlog|mysql -u root -p 时候是用会关闭,但是我测试了一下也不行
不管使用pipe管道还是重定向都不行:
[root@testmy ~]# cat test.sql|/mysqldata/mysql5.7/bin/mysql --socket=/mysqldata/mysql5.7/mysqld3307.sock
ERROR: ASCII '\0' appeared in the statement, but this is not allowed unless option --binary-mode is enabled and mysql is run in non-interactive mode. Set --binary-mode to 1 if ASCII '\0' is expected. Query: ''.
[root@testmy ~]# /mysqldata/mysql5.7/bin/mysql --socket=/mysqldata/mysql5.7/mysqld3307.sock <test.sql ="" ERROR: ASCII '\0' appeared in the statement, but this is not allowed unless option --binary-mode is enabled and mysql is run in non-interactive mode. Set --binary-mode to 1 if ASCII '\0' is expected. Query: ''.
也许这种方式只有在导入ROW格式的binlog才会用到吧。
向test.sql写入一个\0即可,就打开了!!!!!
- sql_ERROR: ASCII
- ASCII
- ASCII
- ASCII
- ASCII
- ASCII
- ASCII
- ASCII
- ASCII
- ASCII
- ASCII
- ASCII
- ASCII
- ASCII
- ASCII
- ASCII
- ascii
- ASCII
- 第123课:Spark Streaming性能优化:通过Spark Streaming发现botnet及性能优化
- 老生常谈的跨域处理
- Android开发之--- 监测手机返回键的点击事件
- 如何处理数据中的缺失值??
- 还是畅通工程(Prim)
- sql_ERROR: ASCII
- ZigBee基本概念术语说明
- D
- 基于Rxjava2的事件总线:Rxbus
- python基础学习之pickle模块
- VS2015 fatal error C1189: #error: Building MFC application with /MD[d]
- Eclipse中最常用的快捷键组合
- 面试小知识
- 有关熵的几个概念 及 最大似然和交叉熵的一致性