如何使用MySQL角色管理

63次阅读
没有评论

共计 3632 个字符,预计需要花费 10 分钟才能阅读完成。

这篇文章主要讲解了“如何使用 MySQL 角色管理”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着丸趣 TV 小编的思路慢慢深入,一起来研究和学习“如何使用 MySQL 角色管理”吧!

1 配置 proxy

mysql  show variables like  %proxy%  # 查看当前 proxy 是否开启,OFF  表示没有开启  +-----------------------------------+-------+ | Variable_name | Value | +-----------------------------------+-------+ | check_proxy_users | OFF | | mysql_native_password_proxy_users | OFF | | proxy_user | | | sha256_password_proxy_users | OFF | +-----------------------------------+-------+ 4 rows in set (0.02 sec) mysql  set global check_proxy_users =on; Query OK, 0 rows affected (0.00 sec) mysql  set global mysql_native_password_proxy_users = on; Query OK, 0 rows affected (0.01 sec) mysql  exit

以上设置参数,对当前会话无效,需要退出后重新登录,或直接设置到 my.cnf 中去;

2 创建角色和用户

mysql  create user role_dba; Query OK, 0 rows affected (1.03 sec) mysql  create user  jack  Query OK, 0 rows affected (0.01 sec) mysql  create user  mary  Query OK, 0 rows affected (0.01 sec)

用户为设置密码,如需密码可以使用 identified by #### 设置;

3 权限映射

将 role_dba 的权限映射 (map) 到 jack、mary

mysql  grant proxy on role_dba to jack; Query OK, 0 rows affected (0.02 sec) mysql  grant proxy on role_dba to mary; Query OK, 0 rows affected (0.01 sec)

4 给用户赋权

给 role_dba 赋权(模拟 role 赋权)

mysql  grant select on *.* to role_dba; Query OK, 0 rows affected (0.01 sec) mysql  show grants for role_dba; +---------------------------------------+ | Grants for role_dba@% | +---------------------------------------+ | GRANT SELECT ON *.* TO  role_dba @ %  | +---------------------------------------+ 1 row in set (0.00 sec) mysql  show grants for jack; +---------------------------------------------+ | Grants for jack@% | +---------------------------------------------+ | GRANT USAGE ON *.* TO  jack @ %  | | GRANT PROXY ON  role_dba @ %  TO  jack @ %  | +---------------------------------------------+ 2 rows in set (0.00 sec) mysql  show grants for mary; +---------------------------------------------+ | Grants for mary@% | +---------------------------------------------+ | GRANT USAGE ON *.* TO  mary @ %  | | GRANT PROXY ON  role_dba @ %  TO  mary @ %  | +---------------------------------------------+ 2 rows in set (0.00 sec)

5 查看 mysql.proxies_priv

mysql  select * from mysql.proxies_priv; +-----------+------+--------------+--------------+------------+----------------------+---------------------+ | Host | User | Proxied_host | Proxied_user | With_grant | Grantor | Timestamp | +-----------+------+--------------+--------------+------------+----------------------+---------------------+ | localhost | root | | | 1 | boot@connecting host | 0000-00-00 00:00:00 | | % | will | % | will_dba | 0 | root@localhost | 0000-00-00 00:00:00 | | % | tom | % | will_dba | 0 | root@localhost | 0000-00-00 00:00:00 | | % | jack | % | role_dba | 0 | root@localhost | 0000-00-00 00:00:00 | | % | mary | % | role_dba | 0 | root@localhost | 0000-00-00 00:00:00 | +-----------+------+--------------+--------------+------------+----------------------+---------------------+ 5 rows in set (0.01 sec)

6 验证

$ mysql -h 127.0.0.1 -u jack Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 249 Server version: 5.7.28-log MySQL Community Server (GPL) Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type  help;  or  \h  for help. Type  \c  to clear the current input statement. mysql  select * from test.ssd limit 1; +---+------+------+ | a | b | c | +---+------+------+ | 1 | NULL | NULL | +---+------+------+ 1 row in set (0.01 sec)

感谢各位的阅读,以上就是“如何使用 MySQL 角色管理”的内容了,经过本文的学习后,相信大家对如何使用 MySQL 角色管理这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是丸趣 TV,丸趣 TV 小编将为大家推送更多相关知识点的文章,欢迎关注!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-27发表,共计3632字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)