我的 MySQL 实例内大约一百个数据库中的数百个表中有数千列,需要从 utf8mb3 升级到 utf8mb4。有没有办法ALTER为每个需要更改的表和列生成语句?
我正在将 Amazon RDS 上托管的 MySQL 从 MySQL 5.7 升级到 8.0。预补丁兼容性工具告诉我:
以下对象使用 utf8mb3 字符集。建议将它们转换为使用 utf8mb4,以改进 Unicode 支持。
更多信息: https://dev.mysql.com/doc/refman/8.0/en/charset-unicode-utf8mb3.html
然后它列出了大约 6,000 个需要更新的数据库和列:
mydb - schema's default character set: utf8
mydb.mytable.mycolumn - column's default character set: utf8
Run Code Online (Sandbox Code Playgroud)
我希望能够生成ALTER我需要运行的所有语句,类似于查询所有 MyISAM 数据库的 MySQL 命令如何帮助我将所有表从 MyISAM 转换为 Innodb。