当前位置: 首页 > news >正文

Mysql导入数据库时报错ERROR: Unknown command '\0'

文章目录

  • 前言
  • 测试环境
    • 数据库版本
    • 系统版本
  • 问题出现过程
  • 问题结果过程
  • 总结

前言

之前查询数据问题时多次使用过数据库导出导入命令,从来没发生过这种错误,那是一个风和日丽的上午,忽然来了一个紧急的任务,线上数据出问题了,需要马上处理一下,连上数据库备份服务器,找到备份数据直接下载下来,优雅(cong mang)地处理着这一切,本打算在Windows上直接导入查询处理一下算了,结果忙中添乱,导入数据库时居然报了一大堆错误,其中最扎眼的就是一连串的ERROR: Unknown command ‘\0’,没办法了,先找一台Linux服务器,上传导入数据分析处理一气呵成,处理完线上问题终于有时间回头来看看这个问题了。

测试环境

数据库版本

Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 5.7.28-log MySQL Community Server (GPL)
Copyright © 2000, 2019, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective owners.
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the current input statement.

系统版本

  • Win10马马虎虎版
    本来打算用来快速处理的,结果添了不少乱

问题出现过程

直接使用cmd命令行输入mysql -uroot -h192.168.1.101 -p,然后输入密码后成功登录,接着选择数据库use dbtest,导入数据库文件source E:\onlinedb.sql,结果意外发生了,出现了一大堆的如下错误:

……
……
ERROR:
Unknown command ‘\0’.
ERROR:
Unknown command ‘\0’.
ERROR:
Unknown command ‘\0’.
ERROR:
Unknown command ‘\0’.
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual …

命令行界面中出现了多次错误提醒ERROR: Unknown command '\0'.,最后有一个常见的语法错误提醒,看到这个'\0',这个字节中的0,程序中nullptr,我猜到可能是编码问题,而最后的语法错误也是由于编码不同而部分解析导致的,于是查了一些资料发现果然是编码问题,只要在客户端连接Mysql服务器时指定UTF8编码就可以了。

问题结果过程

导入的流程不变,只要在客户端连接Mysql服务器时指定编码就可以避免前面遇到的错误,连接时的命令修改为mysql -uroot -h192.168.1.101 -p --default-character-set=utf8就没问题了,上面提到的语法错误也不存在了。

其实这种跨平台的坑有很多,因为平台之间的哲学思想不同,导致对一些默认值的处理不太一样,同样的文件在Windows平台上导入报错,但是我换到Linux服务器上就没有任何问题,接触多了自然就释然了。

总结

  • 导入sql文件时报错ERROR: Unknown command '\0'需在Mysql命令行客户端连接服务器时指定编码
  • 连接时指定编码的格式为mysql -uroot -h192.168.1.101 -p --default-character-set=utf8

相关文章:

  • MySQL中全局变量、会话变量、用户变量和局部变量的区别
  • C++ STL中map的[]操作符使用时的一个坑
  • 单继承、多继承、菱形继承的虚函数表
  • 2019!一份迟到的年终总结
  • 2020年的春节,我们一起抗击新型冠状病毒
  • 利用__declspec(dllexport)和__declspec(dllimport)在Windows平台编写和使用DLL的小例子
  • 挥一挥衣袖,开始一段新的旅程
  • git branch常用分支操作
  • git checkout/git reset/git revert/git restore常用回退操作
  • 没想到C++中的std::remove_if()函数历史还挺悠久
  • git stash帮你在切换分支前暂存不想提交的修改
  • Win10通过带命令行的安全模式清除顽固的广告弹窗文件
  • C++11中的时间库std::chrono(引发关于时间的思考)
  • .bat批处理(九):替换带有等号=的字符串的子串
  • 简单聊聊C/C++中的左值和右值
  • [微信小程序] 使用ES6特性Class后出现编译异常
  • 【跃迁之路】【669天】程序员高效学习方法论探索系列(实验阶段426-2018.12.13)...
  • canvas绘制圆角头像
  • django开发-定时任务的使用
  • IDEA 插件开发入门教程
  • JavaScript函数式编程(一)
  • Redis 中的布隆过滤器
  • 动态魔术使用DBMS_SQL
  • 分布式任务队列Celery
  • 容器化应用: 在阿里云搭建多节点 Openshift 集群
  • 设计模式走一遍---观察者模式
  • 用quicker-worker.js轻松跑一个大数据遍历
  • 原生 js 实现移动端 Touch 滑动反弹
  • ​比特币大跌的 2 个原因
  • (C语言)输入自定义个数的整数,打印出最大值和最小值
  • (免费领源码)Java#Springboot#mysql农产品销售管理系统47627-计算机毕业设计项目选题推荐
  • (三)elasticsearch 源码之启动流程分析
  • (幽默漫画)有个程序员老公,是怎样的体验?
  • (转)MVC3 类型“System.Web.Mvc.ModelClientValidationRule”同时存在
  • (转载)在C#用WM_COPYDATA消息来实现两个进程之间传递数据
  • .net core 客户端缓存、服务器端响应缓存、服务器内存缓存
  • .NET应用架构设计:原则、模式与实践 目录预览
  • [ 云计算 | Azure 实践 ] 在 Azure 门户中创建 VM 虚拟机并进行验证
  • [<事务专题>]
  • [100天算法】-x 的平方根(day 61)
  • [2010-8-30]
  • [android] 天气app布局练习
  • [AutoSar]BSW_OS 02 Autosar OS_STACK
  • [BJDCTF 2020]easy_md5
  • [C++] 多线程编程-thread::yield()-sleep_for()
  • [C++]STL之map
  • [caffe(二)]Python加载训练caffe模型并进行测试1
  • [LeetCode 687]最长同值路径
  • [LeetCode][面试算法]逻辑闭环的二分查找代码思路
  • [Linux] day07——查看及过滤文本
  • [linux运维] 利用zabbix监控linux高危命令并发送告警(基于Zabbix 6)
  • [RK-Linux] Linux A/B System详解
  • [svc]ssh+gg二步认证
  • [分类整理III]微软等100题系列V0.1版之三:栈、堆、队列面试题集锦
  • [汇编实操]DOSBox工具: unable to open input file: 文件名.asm问题解决