Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

MySQL 8.3 Reference Manual  /  Upgrading MySQL  /  Upgrade Troubleshooting

3.13 升级故障排除

  • 在 MySQL 8.2 实例中,如果表的 .frm 文件和 InnoDB 数据字典之间存在模式不匹配,可能会导致升级到 MySQL 8.3 失败。这种不匹配可能是由于 .frm 文件损坏。要解决这个问题,在尝试升级之前,请转储和恢复受影响的表。

  • 如果出现问题,例如新的 mysqld 服务器不启动,请验证您没有来自之前安装的旧 my.cnf 文件。您可以使用 --print-defaults 选项来检查(例如,mysqld --print-defaults)。如果该命令显示的不是程序名称,那么您有一个活动的 my.cnf 文件,它会影响服务器或客户端操作。

  • 如果在升级后,您遇到编译客户端程序的问题,例如 命令不同步 或意外的核心转储,可能是您在编译程序时使用了旧的头文件或库文件。在这种情况下,请检查您的 mysql.h 文件和 libmysqlclient.a 库的日期,以验证它们来自新的 MySQL 发行版。如果不是,请使用新的头文件和库重新编译您的程序。如果共享客户端库的主要版本号发生了变化(例如,从 libmysqlclient.so.20libmysqlclient.so.21),也可能需要重新编译程序。

  • 如果您创建了一个可加载函数,并且升级到 MySQL 的新版本,该版本实现了一个同名的内置函数,那么可加载函数将变得不可访问。要解决这个问题,请使用 DROP FUNCTION 删除可加载函数,然后使用 CREATE FUNCTION 重新创建可加载函数,使用不同的非冲突名称。如果新版本的 MySQL 实现了一个同名的内置函数,同样适用存储函数。请参阅 第 11.2.5 节,“函数名称解析和解析”,了解服务器如何解释不同种类函数的引用。

  • 如果升级到 MySQL 8.3 失败,因为 第 3.6 节,“升级前准备安装” 中所述的任何问题,服务器将撤销所有对数据目录的更改。在这种情况下,请删除所有重做日志文件,并重新启动 MySQL 8.2 服务器,以解决错误。重做日志文件 (ib_logfile*) 位于 MySQL 数据目录中。修复错误后,请执行慢关闭(通过设置 innodb_fast_shutdown=0),然后再次尝试升级。