Help Center/ Relational Database Service/ API Reference/ API v3 (Recommended)/ Upgrading a Major Version (RDS for MySQL)/ Obtaining the Pre-Check Results of an Upgrade from MySQL 5.7 to MySQL 8.0
Updated on 2025-09-24 GMT+08:00

Obtaining the Pre-Check Results of an Upgrade from MySQL 5.7 to MySQL 8.0

Function

This API is used to obtain the pre-check results of an upgrade from MySQL 5.7 to MySQL 8.0.

Constraints

  • This API is supported for RDS for MySQL only.
  • This API can be called only after a major version upgrade pre-check has been performed.
  • The check is passed only when result_code is 0 and status is finished.
  • If the report size exceeds 8 MB, the check details will not be displayed. Download the report to view the check details.

URI

  • URI format

    GET /v3/{project_id}/instances/{instance_id}/upgrade-version/precheck-result

  • Parameter description
    Table 1 Parameters

    Parameter

    Type

    Mandatory

    Description

    project_id

    String

    Yes

    Definition

    Project ID of a tenant in a region.

    To obtain the value, see Obtaining a Project ID.

    Constraints

    N/A

    Range

    N/A

    Default Value

    N/A

    instance_id

    String

    Yes

    Definition

    Instance ID.

    Constraints

    N/A

    Range

    N/A

    Default Value

    N/A

Request

None

Example Request

Obtain the pre-check results of an upgrade from MySQL 5.7 to MySQL 8.0.
GET https://{Endpoint}/v3/054e292c9880d4992f02c0196d3ea468/instances/d8e6ca5a624745bcb546a227aa3ae1cfin01/upgrade-version/precheck-result

Response

  • Normal response
    Table 2 Parameters

    Parameter

    Type

    Description

    result_code

    Integer

    Definition

    Whether the check is passed.

    Range

    • 0: The check is passed.
    • 1: The check is not passed.

    status

    String

    Definition

    Check status.

    Range

    N/A

    updated_at

    String

    Definition

    Time when the check results are updated.

    Range

    N/A

    display

    Boolean

    Definition

    Whether the database check results are displayed.

    Range

    • true: The database check results are displayed.
    • false: The database check results are not displayed.

    instance_status_check_list

    Array of strings

    Definition

    Failed check items of instance association.

    Range

    N/A

    db_upgrade_precheck

    Object

    Definition

    Database check results. For details, see Table 3.

    download_link

    String

    Definition

    Link for downloading the check results.

    Range

    N/A

    Table 3 db_upgrade_precheck field description

    Parameter

    Type

    Description

    result

    Integer

    Definition

    Whether the check is passed.

    Range

    • 0: The check is passed.
    • 1: The check is not passed.

    checks_performed

    Array of objects

    Definition

    Check items. For details, see Table 4.

    Table 4 checks_performed field description

    Parameter

    Type

    Description

    documentation_link

    String

    Definition

    Check description link.

    Range

    N/A

    description

    String

    Definition

    Check item description.

    Range

    N/A

    id

    String

    Definition

    Check item ID.

    Range

    N/A

    title

    String

    Definition

    Check item title.

    Range

    N/A

    status

    String

    Definition

    Check status.

    Range

    N/A

    detected_problems

    Array of objects

    Definition

    Problems detected in each check item. For details, see Table 5.

    Table 5 detected_problems field description

    Parameter

    Type

    Description

    db_object

    String

    Definition

    Database object that has problems.

    Range

    N/A

    level

    String

    Definition

    Alarm severity.

    Range

    N/A

    description

    String

    Definition

    Check item description.

    Range

    N/A

  • Example normal response
    {
      "status": "finished",
      "display": true,
      "result_code": 1,
      "updated_at": 1744186721503,
      "instance_status_check_list": [
        "readOnly_exists_sql_limit",
        "related_to_ddm"
      ],
      "download_link": "https://dbsbucket-xxxxxxx/xxxxxxxxxxxxxxxxx",
      "db_upgrade_precheck": {
        "result": 0,
        "checks_performed": [
          {
            "description": "Warning: The following objects use the utf8mb3 character set. It is recommended to convert them to use utf8mb4 instead, for improved Unicode support.",
            "id": "utf8mb3Check",
            "title": "Usage of utf8mb3 charset",
            "status": "OK",
            "documentation_link": "https://dev.mysql.com/doc/refman/8.0/en/charset-unicode-utf8mb3.html",
            "detected_problems": [
              {
                "level": "Warning",
                "description": "schema's default character set: utf8",
                "db_object": "mysql"
              }
            ]
          },
          {
            "description": "Warning: Following system variables that were detected as being used will be removed. Please update your system to not rely on them before the upgrade.",
            "id": "removedSysVars",
            "title": "Removed system variables",
            "status": "OK",
            "documentation_link": "https://dev.mysql.com/doc/refman/8.0/en/added-deprecated-removed.html#optvars-removed",
            "detected_problems": [
              {
                "level": "Warning",
                "description": "is set and will be removed",
                "db_object": "innodb_file_format_max"
              },
              {
                "level": "Warning",
                "description": "is set and will be removed",
                "db_object": "query_cache_size"
              }
            ]
          },
          {
            "description": "Warning: Following system variables that are not defined in your configuration file will have new default values. Please review if you rely on their current values and if so define them before performing upgrade.",
            "id": "sysVarsNewDefaults",
            "title": "System variables with new default values",
            "status": "OK",
            "documentation_link": "https://mysqlserverteam.com/new-defaults-in-mysql-8-0/",
            "detected_problems": [
              {
                "level": "Warning",
                "description": "default value will change from latin1_swedish_ci to utf8mb4_0900_ai_ci",
                "db_object": "collation_server"
              },
              {
                "level": "Warning",
                "description": "default value will change from OFF to ON",
                "db_object": "event_scheduler"
              },
              {
                "level": "Warning",
                "description": "default value will change from 75 (%) 90 (%)",
                "db_object": "innodb_max_dirty_pages_pct"
              },
              {
                "level": "Warning",
                "description": "default value will change from_0 (%) to 10 (%)",
                "db_object": "innodb_max_dirty_pages_pct_lwm"
              },
              {
                "level": "Warning",
                "description": "default value will change from 0 to 2",
                "db_object": "innodb_undo_tablespaces"
              },
              {
                "level": "Warning",
                "description": "default value will change from 3 (Notes) to 2 (Warning)",
                "db_object": "log_error_verbosity"
              },
              {
                "level": "Warning",
                "description": "default value will change from 64 to 1024",
                "db_object": "max_error_count"
              },
              {
                "level": "Warning",
                "description": "default value will change from 16KB to 1MB",
                "db_object": "optimizer_trace_max_mem_size"
              },
              {
                "level": "Warning",
                "description": "default value will change from OFF to ON",
                "db_object": "performance_schema_consumer_events_transactions_current"
              },
              {
                "level": "Warning",
                "description": "default value will change from OFF to ON",
                "db_object": "performance_schema_consumer_events_transactions_history"
              },
              {
                "level": "Warning",
                "description": "default value will change from 'INDEX_SCAN, TABLE_SCAN' to 'INDEX_SCAN, HASH_SCAN'",
                "db_object": "slave_rows_search_algorithms"
              },
              {
                "level": "Warning",
                "description": "default value will change from 2000 to 4000",
                "db_object": "table_open_cache"
              }
            ]
          },
          {
            "description": "Warning: By default zero date/datetime/timestamp values are no longer allowed in MySQL, as of 5.7.8 NO_ZERO_IN_DATE and NO_ZERO_DATE are included in SQL_MODE by default. These modes should be used with strict mode as they will be merged with strict mode in a future release. If you do not include these modes in your SQL_MODE setting, you are able to insert date/datetime/timestamp values that contain zeros. It is strongly advised to replace zero values with valid ones, as they may not work correctly in the future.",
            "id": "zeroDatesCheck",
            "title": "Zero Date, Datetime, and Timestamp values",
            "status": "OK",
            "documentation_link": "https://lefred.be/content/mysql-8-0-and-wrong-dates/",
            "detected_problems": [
              {
                "level": "Warning",
                "description": "does not contain either NO_ZERO_DATE or NO_ZERO_IN_DATE which allows insertion of zero dates",
                "db_object": "global.sql_mode"
              }
            ]
          }
        ]
      }
    }

Status Code

Error Code

For details, see Error Codes.