您好,登錄后才能下訂單哦!
本篇內容介紹了“MySQL數據庫的權限介紹”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
權限,顧名思義是對使用者的使用范圍根據級別進行限制,MySQL中用user、db、tables_priv、columns_priv四個表實現對權限的控制。具體的驗證過程如下:
確認基本信息:先從user表中判斷是否存在登陸者的Host(IP)、User、Password,存在則通過驗證;權限分配:按照user、db、tables_priv、columns_priv進行順序驗證。如果通過當前級別則不進行下一級別驗證。例如:當通過user權限驗證,則不進行后面三項的驗證。
1.在CMD中啟動mysql:
netstartmysql56;
2.用root登陸mysql:
mysql-uroot-ppwd;
3.沒有用戶的情況下首先創建用戶:
createuserxxxIDENTIFIEDby'pwd';(pwd會被以散列值形式存儲)
修改用戶信息可參考下列實例:
修改用戶名:renameuseroldusertonewuser;刪除用戶:dropuserusername;(在mysql5之前刪除用戶前必須先刪除其權限,但5之后就不需要了,自動刪除。)修改密碼:setpasswordforusername=password('newpwd');或者:updatamysql.usersetpassword=password('newpwd')whereuser='username';
4.查看用戶權限
showgrantsforusername;
5.賦予權限
grantselectondb.*tousername;
6.回收權限
revokeselectondb.*fromusername;(權限不存在會報錯)
可以一次性賦予多個權限,只需在權限之間加‘,’即可,回收亦然。
7.權限立即生效
flushprivileges;
總結一下,在賦權得時候,必須給出的信息有:
1.要授予的權限;2.被授予訪問權限的數據庫或表;3.用戶名。
8.grant和revoke可以在幾個層次上控制訪問權限
1.整個服務器:grantall/revokeall2.整個數據庫:ondatabase.*3.特定的表:ondatabase.table4.特定的列:grantselect(id,se,rank)ontestdb.apache_logtodba@localhost;5.特定的存儲過程:grantexecuteonproceduretestdb.pr_addto’dba’@’localhost’6.特定的函數:grantexecuteonfunctiontestdb.fn_addto’dba’@’localhost’
“MySQL數據庫的權限介紹”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。