多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 數據庫 > 數據庫應用 > MySql-權限管理

MySql-權限管理

來源:程序員人生   發布時間:2016-06-03 08:13:37 閱讀次數:4691次

在mysql數據庫中,有mysql_install_db腳本初始化權限表,存儲權限的表有:

  1. user表
  2. db表
  3. host表
  4. table_priv表
  5. columns_priv表
  6. proc_priv表

MySQL存取控制包括2個階段:
階段1:服務器檢查你是不是允許連接。
這里寫圖片描述

階段2:假定你能連接,服務器檢查你發出的每一個要求。看你是不是有足夠的權限實行它。例如,如果你從數據庫中1個表精選(select)行或從數據庫拋棄1個表,服務器肯定你對表有select權限或對數據庫有drop權限。
這里寫圖片描述

服務器在存取控制的兩個階段使用在mysql的數據庫中的user、db和host表表示,
表名稱 user db host
范圍字段 Host Host Host
User Db Db
Password User

表名稱 user db host
范圍字段 host,use,password host,db,user host,db

權限的鍵以 _priv 結尾:
這里寫圖片描述

使用GRANT語句創建新用戶
GRANT USER語句可以用來創建帳戶,通過該語句可以在user表中添加1條新記錄
比起CREATE USER語句創建的新用戶,還需要使用GRANT語句

賦予用戶權限
使用GRANT語句創建新用戶時必須有GRANT權限。
GRANT priv_type [(column_list)] [, priv_type [(column_list)]] …
ON [object_type] {tbl_name | * | . | db_name.*}
TO user [IDENTIFIED BY [PASSWORD] ‘password’]
[, user [IDENTIFIED BY [PASSWORD] ‘password’]] …
[REQUIRE
NONE |
[{SSL| X509}]
[CIPHER ‘cipher’ [AND]]
[ISSUER ‘issuer’ [AND]]
[SUBJECT ‘subject’]]
[WITH with_option [with_option] …]

使用GRANT語句創建1個新用戶testUser,密碼為testpwd,并授與用戶對所有數據表的SELECT和UPDATE權限

GRANT SELECT ,UPDATE ON *.* TO 'testUser'@'localhost' identified BY 'testpwd' SELECT `Host` ,`User` ,`Select_priv` ,`Update_priv` FROM mysql.user WHERE `User` ='testUser';

履行結果顯示履行成功,使用SELECT語句查詢用戶testUser的權限
Select ‘Host’,’User’,’Select_priv’,’Update_priv’ from mysql user where ‘User’ = ‘testUser’;

root用戶密碼丟失的解決辦法
使用–skip-grant-tables選項啟動MYSQL服務
使用–skip-grant-tables選項啟動MYSQL時,服務器將不加載權限判斷,任何用戶都能訪問數據庫

LINUX下
使用mysqld_safe來啟動MYSQL服務,也能夠使用/etc/init.d/mysql命令來啟動mysql

mysqld_safe --skip-grant-tables user=mysql

/etc/init.d/mysql start-mysqld --skip-grant-tables

啟動MYSQL服務后,就能夠使用root用戶登錄了

權限管理
MYSQL中的各種權限
對GRANT和REVOKE語句,priv_type可以被指定為以下任何1種:

權限 意義
ALL [PRIVILEGES] 設置除GRANT OPTION以外的所有簡單權限
ALTER 允許使用ALTER TABLE
ALTER ROUTINE 更改或取消已存儲的子程序
CREATE 允許使用CREATE TABLE
CREATE ROUTINE 創建已存儲的子程序
CREATE TEMPORARY TABLES 允許使用CREATE TEMPORARY TABLE
CREATE USER 允許使用CREATE USER, DROP USER, RENAME USER和REVOKE ALL PRIVILEGES。
CREATE VIEW 允許使用CREATE VIEW
DELETE 允許使用DELETE
DROP 允許使用DROP TABLE
EXECUTE 允許用戶運行已存儲的子程序
FILE 允許使用SELECT…INTO OUTFILE和LOAD DATA INFILE
INDEX 允許使用CREATE INDEX和DROP INDEX
INSERT 允許使用INSERT
LOCK TABLES 允許對您具有SELECT權限的表使用LOCK TABLES
PROCESS 允許使用SHOW FULL PROCESSLIST
REFERENCES 未被實行
RELOAD 允許使用FLUSH
REPLICATION CLIENT 允許用戶詢問從屬服務器或主服務器的地址
REPLICATION SLAVE 用于復制型從屬服務器(從主服務器中讀取2進制日志事件)
SELECT 允許使用SELECT
SHOW DATABASES SHOW DATABASES 顯示所有數據庫
SHOW VIEW 允許使用SHOW CREATE VIEW
SHUTDOWN 允許使用mysqladmin shutdown
SUPER 允許使用CHANGE MASTER, KILL, PURGE MASTER LOGS和SET GLOBAL語句,mysqladmin debug命令;允許您連接(1次),即便已到達max_connections。
UPDATE 允許使用UPDATE
USAGE “無權限”的同義詞
GRANT OPTION 允許授與權限

當從舊版本的MySQL升級時,要使用EXECUTE, CREATE VIEW, SHOW VIEW, CREATE USER, CREATE ROUTINE和ALTER ROUTINE權限

授權
授權就是為某個用戶授與權限
授與的權限可以分為多個層級:
全局層級
全局權限適用于1個給定服務器中的所有數據庫。這些權限存儲在mysql.user表中。GRANT ALL ON .和REVOKE ALL ON .只授與和撤消全局權限。
數據庫層級
數據庫權限適用于1個給定數據庫中的所有目標。這些權限存儲在mysql.db和mysql.host表中。GRANT ALL ONdb_name.和REVOKE ALL ON db_name.只授與和撤消數據庫權限。
表層級
表權限適用于1個給定表中的所有列。這些權限存儲在mysql.talbes_priv表中。GRANT ALL ON db_name.tbl_name和REVOKE ALL ON db_name.tbl_name只授與和撤消表權限。
列層級
列權限適用于1個給定表中的單1列。這些權限存儲在mysql.columns_priv表中。當使用REVOKE時,您必須指定與被授權列相同的列。
子程序層級
CREATE ROUTINE, ALTER ROUTINE, EXECUTE和GRANT權限適用于已存儲的子程序。這些權限可以被授與為全局層級和數據庫層級。而且,除CREATE ROUTINE外,這些權限可以被授與為子程序層級,并存儲在mysql.procs_priv表中。

當后續目標是1個表、1個已存儲的函數或1個已存儲的進程時,object_type子句應被指定為TABLE、FUNCTION或PROCEDURE。當從舊版本的MySQL升級時,要使用本子句,您必須升級您的授權表

收回權限
收回權限就是取消已賦予用戶的某些權限。收回用戶沒必要要的權限可以在1定程度上保證系統的安全性。
使用REVOKE收回權限以后,用戶帳戶的記錄將從db、host、tables_priv、columns_priv表中刪除,但是用戶帳號記錄仍然
在user表中保存。

REVOKE priv_type [(column_list)] [, priv_type [(column_list)]] ... ON [object_type] {tbl_name | * | *.* | db_name.*} FROM user [, user] ... REVOKE ALL PRIVILEGES, GRANT OPTION FROM user [, user] ...

使用REVOKE語句,必須具有mysql數據庫的全局CREATE權限或UPDATE權限
使用REVOKE語句取消用戶grantUser的INSERT權限

REVOKE INSERT ON *.* FROM 'grantUser'@'localhost';

注意:當從舊版本的MYSQL升級時,如果要使用EXECUTE、CREATE VIEW、SHOW VIEW、CREATE USER、CREATE ROUTINE、ALTER ROUTINE權限,必須先升級授權表

查看權限
SHOW GRANT語句可以顯示用戶的權限信息

show grants FOR 'user'@'host';
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 久久伊人婷婷 | 亚洲福利一区二区 | 日韩亚洲一区中文字幕在线 | 69国产精品视频免费 | 午夜小视频男女在线观看 | 最新欧美精品一区二区三区 | 国产精品嫩草影院在线看 | 亚洲jizzjizz在线播放久 | 中文字幕一区二区三区乱码 | 最近中文字幕高清字幕6 | 日韩一级片免费观看 | 日本中文字幕永久在线 | 18欧美同性videos可播放 | 麻豆成人在线 | 欧美黑人性猛交 | 中文字幕乱码熟 | 亚洲人成网站观看在线观看 | 偷拍亚洲欧美 | 欧美日韩亚洲第一页 | 免费国产阿v视频在线观看 免费国产成高清人在线视频 | 成人97 | 伊人久久免费 | 欧美xxxxx性另类| 校园春色第一页 | 欧美亚洲另类久久综合 | 在线视频一本 | 男女羞羞视频免费 | 亚洲成人高清在线 | 欧美黑人在线视频 | 欧美a在线 | 日韩老女人 | 国产码欧美日韩高清综合一区 | 精品国产看高清国产毛片 | 久久福利网站 | 欧美视频不卡一区二区三区 | 日韩精品免费一级视频 | 欧美性生话 | 国产福利一区二区精品免费 | 99精品高清视频一区二区 | 自拍视频一区二区 | 国产亚洲欧美另类专区 |