Azure MySQL Database for Flexible Server System Tables Corrupted

WorkingBear 0 Reputation points
2024-06-18T10:11:30.2+00:00

I have maintained a Azure mySQL database for Flexible server for over a year. It works fine until yesterday. When I try to connect using mySQL Workbench, it can connect to the server but it cannot fetch any tables / views / SP / Functions information. I google the problem and find that many tables in database "sys" are corrupted. I tried to repair them but my mySQL admin user has no access right to change anything in sys. The application running based on the DB is 24 hours non-stop. It would be a risky decision to restart mySQL database. Is there any solution for my problem?

Azure Database for MySQL
Azure Database for MySQL
An Azure managed MySQL database service for app development and deployment.
757 questions
{count} votes

1 answer

Sort by: Most helpful
  1. ShaktiSingh-MSFT 14,281 Reputation points Microsoft Employee
    2024-06-18T10:35:20.2+00:00

    Hi WorkingBear,

    Welcome to Microsoft Q&A forum.

    As I understand, you have tables in Azure Database for MySQL corrupted.

    For sys tables as you have tried to check, this needs deeper investigation for troubleshoot and hence raise support case is recommended.

    For Non HA:

    However, you can try recovery if it is like user errors, such as accidentally dropped tables or incorrectly updated data, involves performing a point-in-time recovery (PITR), by restoring and recovering the data until the time just before the error had occurred.

    Applications don't see any impact for any storage-related issues such as a disk failure or a physical block corruption. As the data is stored in three copies, the copy of the data is served by the surviving storage. Block corruptions are automatically corrected. If a copy of data is lost, a new copy of the data is automatically created. In a rare or worst-case scenario if all copies are corrupted, we can use restore from Geo restore (paired region). RPO would be < 1 h and RTO would vary. You can also use read replica as DR solution as detailed above.

    https://learn.microsoft.com/en-us/azure/mysql/flexible-server/concepts-business-continuity

    Also refer to concepts below:

    https://learn.microsoft.com/en-us/azure/mysql/flexible-server/concepts-high-availability

    https://learn.microsoft.com/en-us/azure/mysql/flexible-server/concepts-backup-restore

    Let us know if this helps.

    Thanks

    0 comments No comments