如何编写脚本批量导出MySQL中所有用户权限设置,基于查询mysql.user表?
- 内容介绍
- 文章标签
- 相关推荐
本文共计706个文字,预计阅读时间需要3分钟。
直接查询《mysql.user》表,无法完整权限,因为权限分散在多个系统表中:
用 SHOW GRANTS FOR 'user'@'host' 才可靠
MySQL 官方推荐方式是逐个调用 SHOW GRANTS,它自动合并所有层级的权限并输出可执行 SQL。批量操作需结合查询结果动态拼接:
SELECT CONCAT('SHOW GRANTS FOR ''', user, '''@''', host, ''';') FROM mysql.user WHERE user != '';
把上面结果复制进 MySQL 客户端执行,或用脚本(如 Python / shell)捕获输出。
本文共计706个文字,预计阅读时间需要3分钟。
直接查询《mysql.user》表,无法完整权限,因为权限分散在多个系统表中:
用 SHOW GRANTS FOR 'user'@'host' 才可靠
MySQL 官方推荐方式是逐个调用 SHOW GRANTS,它自动合并所有层级的权限并输出可执行 SQL。批量操作需结合查询结果动态拼接:
SELECT CONCAT('SHOW GRANTS FOR ''', user, '''@''', host, ''';') FROM mysql.user WHERE user != '';
把上面结果复制进 MySQL 客户端执行,或用脚本(如 Python / shell)捕获输出。

