1、創建新用戶
成都創新互聯專注于企業全網營銷推廣、網站重做改版、甘谷網站定制設計、自適應品牌網站建設、成都h5網站建設、商城網站制作、集團公司官網建設、外貿網站制作、高端網站制作、響應式網頁設計等建站業務,價格優惠性價比高,為甘谷等各大城市提供網站開發制作服務。
通過root用戶登錄之后創建
grant all privileges on *.* to testuser@localhost identified by "123456" ;//創建新用戶,用戶名為testuser,密碼為123456 ;
grant all privileges on *.* to testuser@localhost identified by "123456" ;//設置用戶testuser,可以在本地訪問mysql
grant all privileges on *.* to testuser@"%" identified by "123456" ; //設置用戶testuser,可以在遠程訪問mysql
flush privileges ;//mysql 新設置用戶或更改密碼后需用flush privileges刷新MySQL的系統權限相關表,否則會出現拒絕訪問,還有一種方法,就是重新啟動mysql服務器,來使新設置生效
2、設置用戶訪問數據庫權限
grant all privileges on test_db.* to testuser@localhost identified by "123456" ;//設置用戶testuser,只能訪問數據庫test_db,其他數據庫均不能訪問 ;
grant all privileges on *.* to testuser@localhost identified by "123456" ;//設置用戶testuser,可以訪問mysql上的所有數據庫 ;
grant all privileges on test_db.user_infor to testuser@localhost identified by "123456" ;//設置用戶testuser,只能訪問數據庫test_db的表user_infor,數據庫中的其他表均不能訪問 ;
3、設置用戶操作權限
grant all privileges on *.* to testuser@localhost identified by "123456" WITH GRANT OPTION ;//設置用戶testuser,擁有所有的操作權限,也就是管理員 ;
grant select on *.* to testuser@localhost identified by "123456" WITH GRANT OPTION ;//設置用戶testuser,只擁有【查詢】操作權限 ;
grant select,insert on *.* to testuser@localhost identified by "123456" ;//設置用戶testuser,只擁有【查詢\插入】操作權限 ;
grant select,insert,update,delete on *.* to testuser@localhost identified by "123456" ;//設置用戶testuser,只擁有【查詢\插入】操作權限 ;
REVOKE select,insert ON what FROM testuser//取消用戶testuser的【查詢\插入】操作權限 ;
用ROOT賬戶登陸(有權限對整個數據庫操作的賬戶)點權限設置,然后添加一用戶 。在Database for user 那里選擇Create database with same name and grant all privileges 如果只是想指定它對其中一數據庫有管理權限就不要選擇全局權限中的任何一項 ,點執行 完成創建 ,下面就是新建一數據庫,在點權限設置 ,在“按數據庫指定權限”那里把你剛新建的數據庫選擇上,點執行就可以了!這樣你新建的賬戶只對該數據庫有完全控制的權限,對其他用戶也沒訪問權限!
背景
在了解動態權限之前,我們先回顧下 MySQL 的權限列表。
權限列表大體分為服務級別和表級別,列級別以及大而廣的角色(也是MySQL 8.0 新增)存儲程序等權限。我們看到有一個特殊的 SUPER 權限,可以做好多個操作。比如 SET 變量,在從機重新指定相關主機信息以及清理二進制日志等。那這里可以看到,SUPER 有點太過強大,導致了僅僅想實現子權限變得十分困難,比如用戶只能 SET 變量,其他的都不想要。那么 MySQL 8.0 之前沒法實現,權限的細分不夠明確,容易讓非法用戶鉆空子。
那么 MySQL 8.0 把權限細分為靜態權限和動態權限,下面我畫了兩張詳細的區分圖,圖 1 為靜態權限,圖 2 為動態權限。
圖 1- MySQL 靜態權限的權限管理圖
圖 2-動態權限圖
那我們看到其實動態權限就是對 SUPER 權限的細分。 SUPER 權限在未來將會被廢棄掉。
我們來看個簡單的例子,
比如, 用戶 'ytt2@localhost', 有 SUPER 權限。
mysql show grants for ytt2@'localhost';+---------------------------------------------------------------------------------+| Grants for ytt2@localhost ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |+---------------------------------------------------------------------------------+| GRANT INSERT, UPDATE, DELETE, CREATE, ALTER, SUPER ON *.* TO ytt2@localhost |+---------------------------------------------------------------------------------+1 row in set (0.00 sec)
但是現在我只想這個用戶有 SUPER 的子集,設置變量的權限。那么單獨給這個用戶賦予兩個能設置系統變量的動態權限,完了把 SUPER 給拿掉。
mysql grant session_variables_admin,system_variables_admin on *.* to ytt2@'localhost';Query OK, 0 rows affected (0.03 sec)mysql revoke super on *.* from ytt2@'localhost';Query OK, 0 rows affected, 1 warning (0.02 sec)
我們看到這個 WARNINGS 提示 SUPER 已經廢棄了。
mysql show warnings;
+---------+------+----------------------------------------------+
| Level ? | Code | Message ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?|
+---------+------+----------------------------------------------+
| Warning | 1287 | The SUPER privilege identifier is deprecated |
+---------+------+----------------------------------------------+
1 row in set (0.00 sec)`
mysql show grants for ytt2@'localhost';
+-----------------------------------------------------------------------------------+
| Grants for ytt2@localhost ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? |
+-----------------------------------------------------------------------------------+
| GRANT INSERT, UPDATE, DELETE, CREATE, ALTER ON *.* TO ytt2@localhost ? ? ? ? ?|
| GRANT SESSION_VARIABLES_ADMIN,SYSTEM_VARIABLES_ADMIN ON *.* TO ytt2@localhost |
+-----------------------------------------------------------------------------------+
2 rows in set (0.00 sec)
當然圖 2 上還有其它的動態權限,這里就不做特別說明了。
網頁標題:mysql怎么用權限 mysql權限控制
文章分享:http://m.kartarina.com/article2/doggdoc.html
成都網站建設公司_創新互聯,為您提供面包屑導航、移動網站建設、全網營銷推廣、電子商務、微信公眾號、網站營銷
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯