导入时出现MySQL / Amazon RDS错误
我正在尝试将所有数据库从500Gb RDS实例转储到较小的实例(100Gb).我保存了很多用户权限,所以我需要转储mysql表.
现在当我尝试将数据上传到我的新实例时,我收到以下错误:
我只是使用数据库快照来完成此任务,但我的实例尺寸较小. 作为一个完整性检查,我尝试将数据转储到原始实例,但得到了相同的错误.有人可以告诉我应该在这做什么吗?谢谢! 最佳答案 您可能需要单独执行数据库,或者至少从现有文件中删除mysql架构(可能使用grep查找USE数据库的行数;语句然后sed以删除麻烦的部分,或者参见下文),然后生成一个转储文件,该文件不会与MySQL模式中的表结构或专有RDS触发器一起使用.我没有尝试将完整的mysql架构恢复到RDS实例上,但我当然可以看到RDS中的自定义和缺少SUPER权限会出现什么问题…但是看起来mysqldump上的这些选项应该可以帮到你至少关闭.
如果这仍然过于激进,那么您将需要仅转储特定表中需要保留其内容的行(“user”和其他授权表). 以下内容没有任何担保,但这是我的收藏中的一个.它是一个单行读取“old_dumpfile.sql”并写入“new_dumpfile.sql”…但是当它在同一行上看到带有`mysql`的USE或CREATE DATABASE语句并关闭它时切换输出再次下次这样的声明发生时没有`mysql`.如果您的转储文件中还包含DROP DATABASE语句,或者您可以使用–skip-add-drop-database生成新的转储文件,则需要对其进行修改. 通过这种方式运行现有的转储文件本质上应该只从该文件中删除mysql架构,允许您先手动还原它,然后让其余的数据库数据更顺畅地流动.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |