首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MariaDB > Mysql导入-错误1064 (42000) -接近“PAGE_CHECKSUM=1”

MariaDB > Mysql导入-错误1064 (42000) -接近“PAGE_CHECKSUM=1”
EN

Stack Overflow用户
提问于 2022-03-02 16:47:47
回答 3查看 599关注 0票数 0

一个包含INNODB格式表的MariaDB数据库被备份到mysql哑,现在应该使用mysql (ssh)进行恢复。

不幸的是,我得到了以下错误:

代码语言:javascript
运行
复制
ERROR 1064 (42000) at line 139: 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 'PAGE_CHECKSUM=1' at 
line 10

第139行说:

代码语言:javascript
运行
复制
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin PAGE_CHECKSUM=1;

表以前在Aria引擎中,但如您所见,现在是InnoDB了。

如何删除PAGE_CHECKSUM=1?该文件的大小为5GB,如果PAGE_CHECKSUM=1在mysqldump之前就消失了,那就太好了。

非常感谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2022-03-02 16:59:35

使用sed删除PAGE_CHECKSUM=1

代码语言:javascript
运行
复制
sed 's/PAGE_CHECKSUM=1//' dumpfile.sql | mysql --user username -p --host hostname databasename
票数 1
EN

Stack Overflow用户

发布于 2022-03-02 17:00:40

在导入这些字符串之前,您必须使用编辑器从文件中删除这些字符串。你说得对,小规模的文本编辑器在5GB文件上可能会遇到困难。但也有一些编辑器能够做到这一点,比如vim或emacs。

也可以使用sed过滤出不想要的字符串:

代码语言:javascript
运行
复制
sed -e 's/PAGE_CHECKSUM=1//' dumpfile.sql | mysql ...options

(我假设该字符串不会发生在文件中的其他任何地方,比如数据本身。)

票数 1
EN

Stack Overflow用户

发布于 2022-03-02 17:08:26

在linux上使用sed如下:

代码语言:javascript
运行
复制
root@localhost:~# sed -i 's/ PAGE_CHECKSUM=1;/;/g' page.sql

这将首先更改您的文件。备份前

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71326311

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档