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
專家
已提問 8 個月前檢視次數 106 次
1 個回答
0

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

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

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

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

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

profile picture
專家
已回答 8 個月前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南