Unable to upgrade from version 5.7 to 8 MySQL

0

Hi there, I am having some issues upgrading from version 5.7 to 8. From the log, I can see:

Errors: 1
Warnings: 2
Database Objects Affected: 79

However, it looks like the log below is the one error showing up which has been altered/fixed(The y, x and distance has been replaced by st_y, st_x and st_distance as suggested in the logs) but when I am running again the upgrade, it is still failing with the same error. It looks to me the changes have not taken any effect.

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)

Your help will be much more appreciated.

I wish to thank you in advance for your response.

質問済み 3年前2867ビュー
1回答
1
承認された回答

Hi, I'm sorry it's not really an answer on why the upgrade is not succeeding (hard to say without looking into the instance specifics), but I hope this suggestion helps you achieve your objective:

If I were you, I'd

  • take a backup of the RDS MySQL 5.7 instance
  • restore it to a test 5.7 instance
  • save/dump the code of the view (and any other non-table object that is listed in the pre-patch compatibility log) for later
  • drop the object(s)
  • attempt the upgrade to 8.0
  • recreate the object(s) in 8.0
  • test that your code and application works as it should

This way, it is possible to both bypass any mistakenly flagged requirements in the pre-upgrade validation, and to make sure that the objects/code are compatible with 8.0.

Then, later, when upgrading your production instance, just do the same drop/upgrade/recreate steps.

profile pictureAWS
エキスパート
回答済み 3年前

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン

関連するコンテンツ