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.

질문됨 2년 전2353회 조회
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.

AWS
답변함 2년 전

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

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

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