mysql-8.0 - 使用 mydumper 时出错,因为移动到 mysql8 是由用于新行的字符 `\x0A` 引起的
问题描述
我收到一个错误,这似乎与在导入使用创建的备份期间未解释的换行符有关mydumper
。
- MySQL 服务器版本:8.0.19-10
- mydumper 版本:mydumper 0.9.5,针对 MySQL 5.7.21-21 构建
我尝试了以下方法:
myloader -d .
cat console.size-schema.sql | mysql console
ERROR 1064 (42000) at line 4: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"size" (\x0A "id" int NOT NULL AUTO_INCREMENT,\x0A "name" varchar(255) NOT NUL' at line 1
我使用时文件看起来很正常cat
$ cat console.size-schema.sql
/*!40101 SET NAMES binary*/;
/*!40014 SET FOREIGN_KEY_CHECKS=0*/;
/*!40103 SET TIME_ZONE='+00:00' */;
CREATE TABLE "size" (
"id" int NOT NULL AUTO_INCREMENT,
"name" varchar(255) NOT NULL,
"label" varchar(255) DEFAULT NULL,
"width" int DEFAULT NULL,
"height" int DEFAULT NULL,
"depth" int DEFAULT NULL,
"deleted_at" int DEFAULT NULL,
"created_at" int DEFAULT NULL,
"updated_at" int DEFAULT NULL,
PRIMARY KEY ("id")
) ENGINE=InnoDB AUTO_INCREMENT=522 DEFAULT CHARSET=utf8;
解决方案
mysql 仅在 ANSI 模式下使用 " 进行转义,默认情况下它使用反引号
我个人的偏好是在任何地方都使用反勾号,因为此设置被广泛使用,从而更容易通过转储文件导入/导出 mysql
推荐阅读
- javascript - 在单元测试松散类型的语言中,是否应该检查方法的返回类型?
- python - 我可以在会话之外或在创建会话之间有挂钩/回调吗?
- ios - 在 iOS 10 上的 PassKitCore 中验证 pkpass(存折通行证)的方法/类
- html - Bootstrap:扩展导航栏切换到菜单图标,使点击时覆盖导航栏
- html - 我在将事件绑定到 AJAX 填充列表项时遇到问题。我希望能够打开一个表单并根据列表项值填写其字段
- curve-fitting - 如果回归线垂直于 x 轴,如何使用最小二乘法计算方差
- visual-studio-code - VSCode C++ Intellisense 不能在远程机器上工作
- python - 在 pandas DataFrame 子集上迭代拟合回归线 - 矢量化解决方案?
- aws-glue - AWS Glue 是否提供有关 ETL 作业执行的 SLA?
- php - PHP脚本花费太多时间