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
这将首先更改您的文件。之前备份
具有 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
这将首先更改您的文件。之前备份