久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

怎么分析Mysql 權限管理

136次閱讀
沒有評論

共計 5601 個字符,預計需要花費 15 分鐘才能閱讀完成。

這期內容當中丸趣 TV 小編將會給大家帶來有關怎么分析 Mysql 權限管理,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

Mysql 賬戶權限信息存儲在 mysql 數據庫 user、db、host、table_priv、colunms_priv 和 procs_priv 表中,在 Mysql 啟動時服務器將這些數據庫表內容讀入內存中。

 Mysql 權限層級主要分為:服務器、數據庫、表、列。按權限的使用環境則主要分為:普通權限、管理員權限、特殊權限,其中普通權限主要應用于應用程序鏈接數據庫,管理員權限則主要用于服務器管理。

mysql 權限列表詳解:

分類權限描述應用層級普通權限
(應用程序)CREATE 允許用戶創建數據庫或表數據庫、表或索引 DROP 允許用戶刪除數據庫或表數據庫或表 GRANT OPTION 允許用戶授予權限數據庫、表或保存的程序 ALTER 允許用戶改變表結構表 DELETE 允許用戶刪除現存表的行表 INDEX 允許用戶創建、修改表索引表 INSERT 允許用戶在表中插入新的記錄表 SELECT 允許用戶查看表記錄表 UPDATE 允許用戶修改表中現有的記錄表 CREATE VIEW 允許用戶創建視圖視圖 SHOW VIEW 允許用戶查看視圖創建語句視圖 ALTER ROUTINE 允許用戶修改存儲過程、函數保存的程序 CREATE ROUTINE 允許用戶創建存儲過程、函數保存的程序 EXECUTE 允許用戶允許以創建的子程序保存的程序管理員 FILE 允許用戶使用 select…into outfile、load data infile 將數據從文件讀入表或從表讀入文件服務器主機上的文件訪問 CREATE TEMPORARY TABLES 允許用戶創建臨時表服務器管理 LOCK TABLES 允許用戶使用 LOCK TABLES 服務器管理 CREATE USER 允許用戶使用 CREATE USER,DORP USER,RENAME USER,REVOKE ALL PRIVILEGES 服務器管理 PROCESS 允許用戶使用 show processlist 查看線程服務器管理 RELOAD 允許用戶使用 flush、重載授權表、清空授權、主機、日志等服務器管理 REPLICATION CLIENT 允許用戶詢問從屬服務器或主機服務器地址服務器管理 REPLICATION SLAVE 用于主從復制性從屬服務器(從主服務器中讀取二進制日志文件)服務器管理 SHOW DATABASES 允許使用 show databases 查看所有的數據庫列表,沒有這個權限,用戶只能看到擁有權限的數據庫服務器管理 SHUTDOWN 允許使用 mysqladmin shutdown 關閉 mysql 服務器服務器管理 SUPER 允許使用 change master,kill,purge master logs 和 set global 語句,mysqladmin debug 命令,當數據庫達到 max_connections 允許連接一次服務器管理特殊 all\all perivileges 授予所有權限服務器管理 usage 僅允許用戶登錄,但不授予權限服務器管理

MySQL 賦予用戶權限命令的簡單格式可概括為:

grant  權限  on  數據庫對象  to  用戶

一、grant 普通數據用戶,查詢、插入、更新、刪除 數據庫中所有表數據的權利。

grant select on testdb.* to common_user@ % 
grant insert on testdb.* to common_user@ % 
grant update on testdb.* to common_user@ % 
grant delete on testdb.* to common_user@ %

或者,用一條 MySQL 命令來替代:

grant select, insert, update, delete on testdb.* to common_user@ %

二、grant 數據庫開發人員,創建表、索引、視圖、存儲過程、函數。。。等權限。

grant 創建、修改、刪除 MySQL 數據表結構權限。

grant create on testdb.* to developer@ 192.168.0.% 
grant alter on testdb.* to developer@ 192.168.0.% 
grant drop on testdb.* to developer@ 192.168.0.%

grant 操作 MySQL 外鍵權限。

grant references on testdb.* to developer@ 192.168.0.% grant  操作  MySQL  臨時表權限。 
grant create temporary tables on testdb.* to developer@ 192.168.0.% grant  操作  MySQL  索引權限。 
grant index on testdb.* to developer@ 192.168.0.% grant  操作  MySQL  視圖、查看視圖源代碼   權限。 
grant create view on testdb.* to developer@ 192.168.0.% 
grant show view on testdb.* to developer@ 192.168.0.%

grant 操作 MySQL 存儲過程、函數 權限。

grant create routine on testdb.* to developer@ 192.168.0.%  -- now, can show procedure status
grant alter routine on testdb.* to developer@ 192.168.0.%  -- now, you can drop a procedure
grant execute on testdb.* to developer@ 192.168.0.%

三、grant 普通 DBA 管理某個 MySQL 數據庫的權限。

grant all privileges on testdb to dba@ localhost

其中,關鍵字“privileges”可以省略。

四、grant 高級 DBA 管理 MySQL 中所有數據庫的權限。

grant all on *.* to dba@ localhost

五、MySQL grant 權限,分別可以作用在多個層次上。

1. grant 作用在整個 MySQL 服務器上:

grant select on *.* to dba@localhost; -- dba  可以查詢  MySQL  中所有數據庫中的表。grant all on *.* to dba@localhost; -- dba  可以管理  MySQL  中的所有數據庫

2. grant 作用在單個數據庫上:

grant select on testdb.* to dba@localhost; -- dba  可以查詢  testdb  中的表。

3. grant 作用在單個數據表上:

grant select, insert, update, delete on testdb.orders to dba@localhost;

4. grant 作用在表中的列上:

grant select(id, se, rank) on testdb.apache_log to dba@localhost;

5. grant 作用在存儲過程、函數上:

grant execute on procedure testdb.pr_add to  dba @ localhost 
grant execute on function testdb.fn_add to  dba @ localhost

六、查看 MySQL 用戶權限

查看當前用戶(自己)權限:

show grants;

查看其他 MySQL 用戶權限:

show grants for dba@localhost;

七、撤銷已經賦予給 MySQL 用戶權限的權限。

revoke 跟 grant 的語法差不多,只需要把關鍵字“to”換成“from”即可:

grant all on *.* to dba@localhost;
revoke all on *.* from dba@localhost;

八、MySQL grant、revoke 用戶權限注意事項

1. grant, revoke 用戶權限后,該用戶只有重新連接 MySQL 數據庫,權限才能生效。

2. 如果想讓授權的用戶,也可以將這些權限 grant 給其他用戶,需要選項“grant option“

grant select on testdb.* to dba@localhost with grant option;

這個特性一般用不到。實際中,數據庫權限最好由 DBA 來統一管理。

———————————————————————————————-

授權命令 GRANT 語句的語法如下: 
GRANT privileges (columns) 
ON what 
TO user IDENTIFIEDBY password  
WITH GRANT OPTION 
對用戶授權  
mysql grant rights on database.* to user@host identified by pass  
例 1: 
增加一個用戶 test1 密碼為 abc,讓他可以在任何主機上登錄,并對所有數據庫有查詢、插入、修改、刪除的權限。 
grant select,insert,update,delete on *.* to test1@ % Identified by abc  
ON 子句中 *.* 說明符的意思是“所有數據庫,所有的表” 
例 2: 
增加一個用戶 test2 密碼為 abc, 讓他只可以在 localhost 上登錄,并可以對數據庫 mydb 進行查詢、插入、修改、刪除的操作。 
grant select,insert,update,delete on mydb.* to test2@localhost identified by abc  
例子 3  
增加一個用戶 custom,他能從主機 localhost、server.domain 和 whitehouse.gov 連接。他只想要從 localhost 存取 bankaccount 數據庫,從 whitehouse.gov 存取 expenses 數據庫和從所有 3 臺主機存取 customer 數據庫。他想要從所有 3 臺主機上使用口令 stupid。

為了使用 GRANT 語句設置個用戶的權限,運行這些命令: 
shell mysql –user=root mysql 
mysql GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP 
ON bankaccount.* TO custom@localhost IDENTIFIED BY stupid  
mysql GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP 
ON expenses.* TO custom@whitehouse.gov IDENTIFIED BY stupid  
mysql GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP 
ON customer.* TO custom@ %  IDENTIFIED BY stupid  
============================================== 
權限信息用 user、db、host、tables_priv 和 columns_priv 表被存儲在 mysql 數據庫中 (即在名為 mysql 的數據庫中)。 
權限 列 Context 
select Select_priv 表  
insert Insert_priv 表  
update Update_priv 表  
delete Delete_priv 表  
index Index_priv 表  
alter Alter_priv 表  
create Create_priv 數據庫、表或索引  
drop Drop_priv 數據庫或表  
grant Grant_priv 數據庫或表  
references References_priv 數據庫或表  
reload Reload_priv 服務器管理  
shutdown Shutdown_priv 服務器管理  
process Process_priv 服務器管理  
file File_priv 在服務器上的文件存取

1.select、insert、update 和 delete 權限 允許你在一個數據庫現有的表上實施操作,是基本權限  
2.alter 權限允許你使用 ALTER TABLE 
3.create 和 drop 權限允許你創建新的數據庫和表,或拋棄 (刪除) 現存的數據庫和表 如果你將 mysql 數據庫的 drop 權限授予一個用戶,該用戶能拋棄存儲了 MySQL 存取權限的數據庫! 
4.grant 權限允許你把你自己擁有的那些權限授給其他的用戶。 
你不能明顯地指定一個給定用戶應該被拒絕存取。即,你不能明顯地匹配一個用戶并且然后拒絕連接。你不能指定一個用戶有權創建立或拋棄一個數據庫中的表,也不能創建或拋棄數據庫本身。可以同時列出許多被授予的單個權限。 
例如,如果想讓用戶能讀取和修改已有表的內容,但又不允許創建新表或刪除表,可按如下授權: 
GRANT SELECT,INSERT,DELETE,UPDATE ON samp_db.* TO  user @ %  IDENTIFIEDBY pass

以上是我從別的地方拷貝過來后稍作修改的文字,下面自己寫一些需要注意的東西。

上述就是丸趣 TV 小編為大家分享的怎么分析 Mysql 權限管理了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注丸趣 TV 行業資訊頻道。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-07-19發表,共計5601字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 桦南县| 泽州县| 收藏| 夏津县| 全州县| 依兰县| 九江市| 枣阳市| 葫芦岛市| 淮滨县| 琼中| 会东县| 铜陵市| 剑阁县| 健康| 新河县| 横峰县| 宜都市| 涡阳县| 城口县| 宿迁市| 双峰县| 都昌县| 随州市| 西峡县| 分宜县| 新和县| 泽库县| 湄潭县| 池州市| 醴陵市| 甘孜县| 黎平县| 泽普县| 喀喇沁旗| 张北县| 鹿泉市| 龙井市| 称多县| 麟游县| 安顺市|