PolarDB MySQL版 8.0版本完全兼容MySQL 5.7,您可以将MySQL 5.7数据库迁移到PolarDB MySQL版 8.0版本使用,数据不会丢失,但需要注意客户端版本和PolarDB MySQL版 8.0版本的兼容性问题。

如何将MySQL 5.7迁移至PolarDB MySQL版 8.0版本请参见如下文档:

客户端版本

您需要将MySQL客户端程序升级到如下版本:

  • Java:MySQL Connector/J 8.0及以上版本。
  • ODBC:MySQL Connector/ODBC 8.0及以上版本。
  • CPP:MySQL Connector/CPP 8.0及以上版本。
  • .NET:MySQL Connector/NET 8.0及以上版本。
  • Nodejs:MySQL Connector/Nodejs 8.0及以上版本。
  • Python:MySQL Connector/Python 8.0.5及以上版本。
  • Golang:go-sql-driver/mysql 1.4.0及以上版本。
  • PHP:mysqlnd 7.4及以上版本。
  • C/CPP:libmysqlclient 8.0及以上版本。

已知客户端问题

    • 问题现象:MySQL数据库连接异常,query_cache_size无法识别。
    • Driver版本:mysql-connector-java:5.1.42
    • 数据库版本:mysql 8.0.13
    • 解决办法:使用mysql-connector-java:5.1.42以上的版本,Driver版本更新日志请参见Connector/J Release Notes
    • 问题现象:mysql python driver由于COM_STMT_EXECUTE的flag没有设置正确且没有发送com_stmt_fetch获取结果集,在MySQL 8.0版本上会导致无法正常获取返回结果,在MySQL 5.6/5.7版本可以正常返回结果。
    • Driver版本:mysql-connector-2.2.9。
    • 数据库版本:mysql 8.0.13。
    • 解决办法:安装8.0的python driver
    • 问题现象:在PolarDB MySQL版 8.0版本数据库集群上执行带有kickout的SQL语句时,会出现如下语法报错:
      ERROR 1064 (42000): You have an error in your SQL syntax;
    • 解决办法:建议升级PolarDB MySQL版 8.0版本集群到最新修订版本。详细升级操作步骤,请参见小版本升级