【问题标题】:Error Occured During Restoration From Mysql Dump从 Mysql Dump 恢复过程中发生错误
【发布时间】:2018-08-26 21:47:53
【问题描述】:
Head of the dump shows this:
-- MySQL dump 10.13  Distrib 5.7.19, for osx10.11 (x86_64)
--
-- Host: localhost    Database: merchant
-- ------------------------------------------------------
-- Server version   5.6.37

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

我在 mysql 5.6.30、Ubuntu 17.10 x86_64 上加载这个转储

第 2142 行出现错误:语句中出现 ASCII '\0',但除非启用选项 --binary-mode 并且 mysql 以非交互模式运行,否则这是不允许的。如果需要 ASCII '\0',则将 --binary-mode 设置为 1。查询:'INSERT INTO inventory_inventorylog VALUES (51504,'1101000',1.000,'PE-209444-119',1,'910749','2018-02-13 07:40:10.718324',4,9444,NULL ,'[{\"count\": \"1\", \"obj_id\": 132059}, {\"count\": \"1\", \"obj_id\": 132061}, {\" count\": \"1\", \"obj_id\": 132063}, {\"count\": \"1\", \"obj_id\": 132066}, {\"...... ..........

我尝试启用二进制模式,但没有成功。只加载到inventory_inventorylog 的表

[~/Documents/newer dump]$file mysql15March.sql 
mysql15March.sql: ASCII text, with very long lines

【问题讨论】:

  • 尝试获取扩展名为 .dmp 而不是 .sql 的转储文件

标签: mysql


【解决方案1】:

一般不鼓励在mysqldump中使用'>'参数,因为它先将其发送到终端stdout,然后再发送到输出文件,这会导致字符编码问题,特别是如果终端除了utf-8之外设置了不同的编码。

改用这个

mysqldump <host> <user> <pwd> <dbname> -r yourfile.sql

【讨论】:

    猜你喜欢
    • 2021-12-06
    • 1970-01-01
    • 2020-05-19
    • 2012-11-13
    • 2011-01-27
    • 2010-12-24
    • 1970-01-01
    • 2016-03-22
    相关资源
    最近更新 更多