[bug] mysqldump: Error: 'Access denied without PROCESS privilege

1、问题现象

MySQL 8.0.25 mysqldump 报错 Error: 'Access denied; you need (at least one of) the PROCESS privilege(s) for this operation' when trying to dump tablespaces] (mysqldump 5.7.21无异常)

2、问题原因

mysqlpump of 8.0.21 之后增加读  INFORMATION_SCHEMA.FILES操作,这需要 PROCESS 权限 ,mysqldump使用该表来获取表空间信息,此更改被视为不兼容mysqlpump of 5.7的更改。

这是一个Bug #100229, mysqldump/mysqlpump, 8.0.21: The need for PROCESS privilege is not documented :https://bugs.mysql.com/bug.php?id=100229

3、问题影响

如果业务表未使用表空间, mysqldump导出过程中报Error: 'Access denied; you need (at least one of) the PROCESS privilege(s) ,但不影响业务库的正常导出

4、解决方案

方案1、 导出用户额外赋权 GRANT PROCESS on . TO 导出用户@'%'; (推荐) ​ 方案2、 在业务表未使用表空间的前提下,mysqldump 导出参数添加 --no-tablespaces (推荐) ​ 方案3、用mysqldump 5.7 操作 MySQL 8 的库