从 MySQL 5.0.x 迁移到更新版本(例如 5.1.x 或 5.5.x)时,主动查找向后兼容性问题的最佳方法是什么?那里有很多文档,例如从一个版本迁移到另一个版本的官方指南和更改日志,但是有谁知道那里有任何脚本是为了识别可能的问题而创建的?除了 mysql_upgrade (但请参阅下面的注释)之外,我找不到一个。
听起来使用 mysql_upgrade 将能够找到表的一些问题,但我认为它不会找到所有可能的问题(例如带有查询的问题) - 例如,我们过去遇到过一个问题,我们有一个设置 MySQL 变量 (max_allowed_packet) 的查询。这曾经是允许的,但是当我们从 5.0.95 升级到该查询时,该查询开始失败,因为 MySQL 从 5.0.84 开始将其更改为只读。
为了在查询本身中捕获兼容性问题,是否有可以分析通用查询日志中的查询的东西(假设这已打开一段时间以捕获查询)?在系统管理员方面尽可能多地在全球范围内进行识别,而不是让开发人员试图找出问题,这将是一件好事。即使浏览了所有的变更日志和指南,仍然需要查看需要更改哪些查询,如果已经存在脚本来减少手动/半手动检查,这将是理想的选择。
pt-upgrade可以在两台服务器上执行查询并比较结果。这是主要版本迁移之前要做的步骤之一