迁移来自本地的MySQL 8 RDS

0

【以下的问题经过翻译处理】 大家好, 我有一个MySQL 8数据库在本地,现在我想将它导出并导入到RDS中。 我尝试过使用mysqldump,将转储文件添加到S3存储桶中,然后从S3中恢复,但是却得到了"Incompatible-restore"的错误提示。 在一些aws知识库中建议我使用xtrabackup进行备份,然后我将备份文件夹再次上传到S3存储桶中,但是仍然得到了"Incompatible-restore"的错误提示。 我尝试了使用gz进行gzip(gzip-c >/backup/xtrabackup.tar.gz)后用gunzip解压得到tar文件,再将其上传到S3存储桶中,但是仍然得到了相同的错误提示:"Incompatible-restore"。 我的数据库非常小,不到100 MB,你们有哪些建议?是否有办法从RDS中获取更多有关"Incompatible-restore"错误的详细信息?如完整的日志或其他内容? 谢谢。

profile picture
专家
已提问 8 个月前24 查看次数
1 回答
0

【以下的回答经过翻译处理】 你好,

你正在采用正确的步骤通过使用S3来迁移备份。在进行此操作之前,请考虑以下几点。以下是从Amazon S3导入备份文件的一些限制和建议:

  1. 只能将数据导入到新的DB实例,而不是现有的DB实例。

  2. 必须使用Percona XtraBackup来创建本地数据库的备份。

  3. 无法从DB快照导出到Amazon S3中导入数据。

  4. 无法从在默认MySQL数据目录之外定义表的源数据库导入数据。

  5. 必须将数据导入到AWS区域中的MySQL主版本的默认次版本。例如,如果你的主版本是MySQL 8.0,AWS区域的默认次版本是8.0.28,则必须将数据导入到MySQL版本8.0.28的DB实例中。你可以在导入后升级DB实例。有关确定默认次版本的信息,请参阅MySQL on Amazon RDS版本。

  6. 对于主版本和次版本,不支持向后迁移。例如,无法从版本8.0迁移到版本5.7,也无法从版本8.0.28迁移到版本8.0.27。

  7. 无法将本地MySQL数据库从一个主版本导入到另一个主版本。例如,无法将MySQL 5.7数据库导入到RDS for MySQL 8.0数据库。在导入完成后,可以升级DB实例。

  8. 无法从加密的源数据库恢复,但可以恢复到加密的Amazon RDS DB实例。

  9. 无法从Amazon S3存储桶中的加密备份恢复。

  10. 在db.t2.micro DB实例类上不支持从Amazon S3导入。但是,您可以恢复到不同的DB实例类,然后稍后更改DB实例类。有关实例类的更多信息,请参阅DB实例类的硬件规格。

  11. 在还原数据库时,备份会被复制,然后在您的DB实例上进行解压。因此,请为您的DB实例提供的存储空间与备份大小之和相等或更大,再加上原始数据库在磁盘上的大小。

  12. 用户账户不会自动导入。请从源数据库保存您的用户账户,稍后将它们添加到新的DB实例中。

  13. 函数不会自动导入。请从源数据库保存您的函数,稍后将它们添加到新的DB实例中。

  14. 存储过程不会自动导入。请从源数据库保存您的存储过程,稍后将它们添加到新的DB实例中。

  15. 时区信息不会自动导入。记录源数据库的时区信息,稍后设置新DB实例的时区。

请验证上述内容,并检查是否有帮助!

谢谢

Chirag

profile picture
专家
已回答 8 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则