<p>角色是MySQL中一组权限的集合,通过CREATE ROLE创建并用GRANT赋权,如GRANT SELECT ON . TO read_only;再将角色授予用户,如GRANT read_only TO 'alice'@'localhost';需通过SET DEFAULT ROLE或SET ROLE激活后用户才能使用相应权限,最终通过SHOW GRANTS查看角色与权限分配情况,实现高效权限管理。</p>

MySQL中角色和用户的关联是通过权限系统中的角色分配机制实现的。从MySQL 8.0开始,引入了角色(Role)功能,允许将一组权限打包成角色,再将角色授予用户,简化权限管理。
角色是一组预定义的权限集合,可以像用户一样被授予或撤销。例如,可以创建一个名为
read_only
SELECT
先创建角色,并为其赋予相应权限:
CREATE ROLE read_only, data_admin;
GRANT SELECT ON *.* TO read_only;
GRANT ALL PRIVILEGES ON app_db.* TO data_admin;
使用
GRANT
GRANT read_only TO 'alice'@'localhost';
GRANT read_only, data_admin TO 'bob'@'%';
用户登录后,默认角色可能不会自动激活,需设置默认角色:
SET DEFAULT ROLE read_only TO 'alice'@'localhost';
SET ROLE read_only;
只有激活后,用户才能使用角色中的权限。
可以通过以下方式检查关联情况:
SHOW GRANTS FOR 'alice'@'localhost';
SHOW GRANTS;
基本上就这些。通过角色管理,可以避免重复为每个用户单独授权,提升数据库权限管理效率。
以上就是mysql角色和用户如何关联的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号