您好,登錄后才能下訂單哦!
這篇文章主要講解了“如何使用MySQL角色管理”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“如何使用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角色管理這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。