PolarDB for MySQL 8.0 is fully compatible with MySQL 5.7. You can migrate data from MySQL 5.7 databases to PolarDB for MySQL 8.0 clusters. This does not cause data loss. However, you must check the compatibility between MySQL clients and PolarDB for MySQL 8.0.

For more information about how to migrate data from MySQL 5.7 databases to PolarDB for MySQL 8.0 clusters, see the following topics:

Client versions

You must upgrade your MySQL client to the following versions:

  • Java: MySQL Connector/J 8.0 or later.
  • ODBC: MySQL Connector/ODBC 8.0 or later.
  • CPP: MySQL Connector/CPP 8.0 or later.
  • .NET: MySQL Connector/NET 8.0 or later.
  • Nodejs: MySQL Connector/Nodejs 8.0 or later.
  • Python: MySQL Connector/Python 8.0 or later.
  • Python: MySQL Connector/Python 8.0.5 or later.
  • Golang: go-sql-driver/mysql 1.4.0 or later.
  • PHP: mysqlnd 7.4 or later.
  • C/CPP: libmysqlclient 8.0 or later.

Known issues with MySQL clients

    • Issue: An exception occurs when the client connects to the MySQL database. The query_cache_size parameter cannot be identified.
    • Driver version: MySQL Connector/J 5.1.42
    • Database version: MySQL 8.0.13
    • Solution: Use MySQL Connector/J 5.1.42 or later. For more information about the updates of the version, see Changes in MySQL Connector/J 5.1.43.
    • Issue: The flag of COM_STMT_EXECUTE is invalid and the COM_STMT_FETCH statement is not executed to retrieve the result set. As a result, the Python driver for MySQL 8.0 fails to return the result. However, the result is returned as normal in MySQL 5.6 or MySQL 5.7.
    • Driver version: MySQL Connector/J 2.2.9.
    • Database version: MySQL 8.0.13.
    • Solution: Install the Python driver for MySQL 8.0. For more information, see Python driver.
    • Issue: When you execute SQL statements with kickout on PolarDB for MySQL 8.0 clusters, the following error is returned:
      ERROR 1064 (42000): You have an error in your SQL syntax;
    • Solution: We recommend that you upgrade the PolarDB for MySQL 8.0 cluster to the latest revision. For more information, see Version Management.