您好,登錄后才能下訂單哦!
這篇文章主要講解了“數據庫用戶管理怎么實現”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“數據庫用戶管理怎么實現”吧!
1、用戶定義
用戶定義:
mysql> select user,host,password from mysql.user;
+------+--------------+-------------------------------------------+
| user | host | password
==================================
user 主機范圍
使用某個用戶 從哪些主機地址可以訪問我的數據庫
用戶的功能:
1、用來登錄mysql數據庫
2、用來管理數據庫對象(庫,表)
權限:
功能:針對不同的用戶,設置不同的對象管理能力。
select updata delete insert creat ...
權限的范圍:
*.* :全局范圍
oldboy.* :單庫級別
oldboy.t1 :單表級別
創建用戶并授權:
grant all on wordpress.* to workpress@'10.0.0.%' identified by 'oldboy123';
授權命令 權限 權限范圍 用于 主機范圍 密碼
修改超級管理員用戶:root
修改密碼:mysqladmin -uroot -p password oldboy123
root@localhost
普通用戶:select,updata,delete,insert,create,drop (增刪改查)
只針對用戶的操作命令:
mysql> create user zabbix@'10.0.0.%' identified by 'oldboy123';
Query OK, 0 rows affected (0.01 sec)
mysql> drop user root@'127.0.0.1';
Query OK, 0 rows affected (0.00 sec)
mysql> select user,host,password from mysql.user;
特殊的刪除方法:
mysql> delete from mysql.user where user='oldboy' and host='localhost';
Query OK, 1 row affected (0.00 sec)
mysql> flush privileges;
2、用戶授權
grant all on wordpress.* to workpress@'10.0.0.%' identified by 'oldboy123';
授權命令 權限 權限范圍 用于 主機范圍
all權限:
SELECT,INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES,
INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE,
REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE,
CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE
開發用戶權限:(root用戶進行授權)
grant SELECT,INSERT, UPDATE, DELETE, CREATE, DROP on testdb.* to zabbix@'10.0.0.%';
使用zabbix檢查:
mysql> create database testdb;
Query OK, 1 row affected (0.00 sec)
mysql> show databases;
創建用戶并授權:
mysql> grant all on *.* to root@'10.0.0.%' identified by 'oldboy123';
Query OK, 0 rows affected (0.00 sec)
mysql> select user,host,password from mysql.user;
查詢用戶的權限:
mysql> show grants for zabbix@'10.0.0.%';
創建類似管理員:
mysql> show grants for root@'10.0.0.%';
本地超級管理員:有grants權限
mysql> show grants for root@'localhost';
收回權限:
mysql> revoke create,drop on testdb.* from zabbix@'10.0.0.%';
mysql> show grants for zabbix@'10.0.0.%';
思考:
grant select on *.* to zabbix@'10.0.0.%';
grant INSERT, UPDATE, DELETE, CREATE, DROP on testdb.* to zabbix@'10.0.0.%';
grant update on testdb.t1 to zabbix@'10.0.0.%';
###
mysql> use testdb;
mysql> create table t1(id int);
mysql> show tables;
mysql> insert into t1 values(1);
問:zabbix@'10.0.0.%' 對t1 表到底有什么權限?
如果對某個用戶在不同的數據庫級別設置了權限,最終權限權限疊加,加起來的最大權限為準。
建議,不要多范圍授權。
感謝各位的閱讀,以上就是“數據庫用戶管理怎么實現”的內容了,經過本文的學習后,相信大家對數據庫用戶管理怎么實現這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。