mysql.host table preventing upgrade from Aurora mysql 5.7 to 8

0

Hello

I am trying to use the Blue green deployment for RDS to upgrade a database from 5.7.mysql_aurora.2.12.2 to 8.0.mysql_aurora.3.06.0. However its failing because a table mysql.host exists. Our database user does not have access to the mysql database so not sure what options we have to get past this.

Has anyone else faced this issue before?

2 Answers
0

Hello,

Is it failing due to "its failing because a table mysql.host exists." or "its failing because a table mysql.host do not exists."

In the Aurora MySQL upgrade prechecks

  • There must be no InnoDB metadata inconsistency in the mysql.host table.

can you confirm the error message as following

"id": "checkTableOutput", "title": "Issues reported by 'check table x for upgrade' command", "status": "OK", "detectedProblems": [ { "level": "Error", "dbObject": "mysql.host", "description": "Table 'mysql.host' doesn't exist" } ] },

With master user please try this

mysql> use mysql; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A

Database changed
  • mysql> show tables like 'host'; +------------------------+ | Tables_in_mysql (host) | +------------------------+ | host | +------------------------+ 1 row in set (0.26 sec)

  • mysql> describe host;

Hope it helps and if it does, I would appreciate if answer can be accepted so that community can benefit for clarity when searching for similar enquiries in repost/aws guide..

AWS
answered 10 days ago
  • The error is as follows

    {
          "id": "checkTableOutput",
          "title": "Issues reported by 'check table x for upgrade' command",
          "status": "OK",
          "detectedProblems": [
            {
              "level": "Error",
              "dbObject": "mysql.host",
              "description": "Table 'mysql.host' doesn't exist"
            }
          ]
        }
    

    When i look into the database, I see a very weird mysql.host table If I list tables in the mysql database using the following command, i can see that the table is in the returned list

    use mysql;
    show tables
    

    However when I try to describe it, I get the following error

    SQL Error [1146] [42S02]: Table 'mysql.host' doesn't exist
    
0

Hello,

Yes, the 'mysql.host' is causing the issue, during the checkTableOutput pre-check it is failing and will not upgrade , although you can create BG with same version but during upgrade it will fail again .

As you do not have access to mysql and storage , I'll suggest of you reach out to AWS support to work on this table or precheck mitigation so this precheck can pass .

Another option you may try , i haven't tested as i do not have any cluster with this issue , (but please test and take a snapshot of present cluster)

  1. Upgrade is failing due to the presence of 'mysql.host' table in the Aurora clusters.

  2. Try to clone the cluster , and check the mysql.host table

  3. i expect the clone should not have this table , and try to upgrade the clone .

Hope it helps and if it does, I would appreciate if answer can be accepted so that community can benefit for clarity when searching for similar enquiries in repost/aws guide..

AWS
answered 10 days ago
  • I have reached out to AWS support now. Cloning is too tedious for us to do at this point but if we do it and it works, i will let you know.

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions