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달 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

질문 답변하기에 대한 가이드라인