MariaDB > Mysql 导入 - 错误 1064 (42000) - 'PAGE_CHECKSUM=1' 附近

MariaDB > Mysql Import - ERROR 1064 (42000) - near 'PAGE_CHECKSUM=1'

具有 INNODB 格式表的 MariaDB 数据库已备份到 mysqldumb,现在应使用 mysql (ssh) 恢复。

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

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 行说:

) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin PAGE_CHECKSUM=1;

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

如何删除 PAGE_CHECKSUM=1?该文件大小为 5GB,如果 PAGE_CHECKSUM=1 在 mysql 转储之前消失就好了。

非常感谢。

使用sed删除PAGE_CHECKSUM=1:

sed 's/PAGE_CHECKSUM=1//' dumpfile.sql | mysql --user username -p --host hostname databasename

您必须先使用编辑器从文件中删除这些字符串,然后才能将其导入。没错,small-scale 文本编辑器可能很难处理 5GB 的文件。但是有些编辑器可以做到这一点,例如 vim 或 emacs.

或者您可以使用sed过滤掉不需要的字符串:

sed -e 's/PAGE_CHECKSUM=1//' dumpfile.sql | mysql ...options

(我假设该字符串不会出现在文件中的其他任何地方,就像在数据本身中一样。)

在 linux 上使用 sed,例如:

root@localhost:~# sed -i 's/ PAGE_CHECKSUM=1;/;/g' page.sql

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