使用AWS re:Post即您表示您同意 AWS re:Post 使用条款

Mysql 5.7 无法升级到8.0

0

【以下的问题经过翻译处理】 您好,我在升级mysql5.7到8.0时遇到了一些问题。从日志中可以看到:

Errors: 1
Warnings: 2
Database Objects Affected: 79

不过,下面的日志显示的错误似乎已被修改/修复(如日志所示,y、x 和 distance 已被 st_y、st_x 和 st_distance 所取代),但当我再次运行升级时,仍然会出现同样的错误。在我看来,这些更改没有产生任何效果。

12) Usage of removed functions
Following DB objects make use of functions that have been removed in version 8.0. Please make sure to update them to use supported alternatives before upgrade.
More Information:
https://dev.mysql.com/doc/refman/8.0/en/mysql-nutshell.html#mysql-nutshell-removals

VIEW uses removed functions X (consider using ST_X instead), Y (consider using ST_Y instead)
 FUNCTION uses removed function DISTANCE (consider using ST_DISTANCE instead)
 PROCEDURE uses removed functions X (consider using ST_X instead), Y (consider using ST_Y instead)

非常感谢您的帮助。感谢您的回复。

profile picture
专家
已提问 1 年前137 查看次数
1 回答
0

【以下的回答经过翻译处理】 您好,首先很报歉我并不能真正回答为什么升级不成功(主要是不了解实例的具体情况,所以很难说),但我希望如下的建议能帮助到您:

如果我是你,我会做如下尝试:

  • 备份 RDS MySQL 5.7 实例
  • 将其恢复到测试5.7实例中
  • 保存/导出视图的代码(以及预补丁兼容性日志中列出的任何其他非表对象),以备后用
  • 删除对象
  • 尝试升级到8.0
  • 在8.0中重新创建对应的对象
  • 测试代码和应用程序是否正常运行

这样,既可以绕过升级前验证中任何错误标记的要求,又可以确保对象/代码与 8.0 兼容。

之后,在升级生产实例时,只需执行相同的删除/升级/创建步骤即可。

profile picture
专家
已回答 1 年前

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

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

回答问题的准则