91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL 中有哪些用戶權限管理

發布時間:2021-04-19 16:19:30 來源:億速云 閱讀:350 作者:Leah 欄目:開發技術

MySQL 中有哪些用戶權限管理?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

容。

  1.用戶權限簡介

當我們創建過數據庫用戶后,還不能執行任何操作,需要為該用戶分配適當的訪問權限。

關于 MySQL 用戶權限簡單的理解就是數據庫只允許用戶做你權利以內的事情,不可以越界。比如只允許你執行 select 操作,那么你就不能執行 update 操作。只允許你從某個 IP 上連接 MySQL ,那么你就不能從除那個 IP 以外的其他機器連接 MySQL 。

在 MySQL 中,用戶權限也是分級別的,可以授予的權限有如下幾組:

  • 列級別,和表中的一個具體列相關。例如,可以使用 UPDATE 語句更新表 students 中 student_name 列的值的權限。

  • 表級別,和一個具體表中的所有數據相關。例如,可以使用 SELECT 語句查詢表 students 的所有數據的權限。

  • 數據庫級別,和一個具體的數據庫中的所有表相關。例如,可以在已有的數據庫 mytest 中創建新表的權限。

  • 全局,和 MySQL 中所有的數據庫相關。例如,可以刪除已有的數據庫或者創建一個新的數據庫的權限。

權限信息存儲在 mysql 系統庫的 user、db、tables_priv、columns_priv、procs_priv 這幾個系統表中。

  • user 表:存放用戶賬戶信息以及全局級別(所有數據庫)權限。

  • db 表:存放數據庫級別的權限,決定了來自哪些主機的哪些用戶可以訪問此數據庫。

  • tables_priv 表:存放表級別的權限,決定了來自哪些主機的哪些用戶可以訪問數據庫的這個表。

  • columns_priv 表:存放列級別的權限,決定了來自哪些主機的哪些用戶可以訪問數據庫表的這個字段。

  • procs_priv 表:存放存儲過程和函數級別的權限。

參考官方文檔,可授予的權限如下表所示:

MySQL 中有哪些用戶權限管理

看起來各種可授予的權限有很多,其實可以大致分為數據、結構、管理三類,大概可分類如下:

MySQL 中有哪些用戶權限管理

  2.權限管理實戰

我們一般用 grant 語句為數據庫用戶賦權,建議大家先用 create user 語句創建好用戶之后再單獨進行授權。下面通過示例來具體看下:

# 創建用戶
create user 'test_user'@'%' identified by 'xxxxxxxx';

# 全局權限
GRANT super,select on *.* to 'test_user'@'%';

# 庫權限
GRANT select,insert,update,delete,create,alter,execute on `testdb`.* to 'test_user'@'%';

# 表權限
GRANT select,insert on `testdb`.tb to 'test_user'@'%';

# 列權限
GRANT select (col1), insert (col1, col2) ON `testdb`.mytbl to 'test_user'@'%';

# GRANT命令說明:
super,select 表示具體要授予的權限。
ON 用來指定權限針對哪些庫和表。
*.* 中前面的*號用來指定數據庫名,后面的*號用來指定表名。
TO 表示將權限賦予某個用戶。
'test_user'@'%' 表示test_user用戶,@后面接限制的主機,可以是IP、IP段、域名以及%,%表示任何地方。

# 刷新權限
flush privileges;

# 查看某個用戶的權限
show grants for 'test_user'@'%';

# 回收權限
revoke delete on `testdb`.* from 'test_user'@'%';

權限管理是一件不容忽視的事,我們不能為了方便而給數據庫用戶很大的權限。特別是對于生產庫,更應該進行權限管控,建議程序用戶只賦予增刪改查等基礎權限,個人用戶只賦予查詢權限。

出于安全考慮,建議遵循以下幾個經驗原則:

  • 只授予能滿足需要的最小權限,防止用戶干壞事。比如用戶只是需要查詢,那就只給 select 權限就可以了。

  • 創建用戶的時候限制用戶的登錄主機,一般是限制成指定 IP 或者內網 IP 段。

  • 給各個服務單獨創建數據庫用戶,單個用戶最好只能操作單個庫。

  • 及時記錄各數據庫用戶權限等信息,以免忘記。

  • 若有外部系統調用,應配置只讀用戶,并且權限要精確到表或視圖。

  • 定期清理不需要的用戶,回收權限或者刪除用戶。

關于MySQL 中有哪些用戶權限管理問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

金昌市| 临漳县| 博客| 泊头市| 闵行区| 恩平市| 修武县| 赤壁市| 桂东县| 久治县| 新宁县| 邹城市| 大兴区| 阳泉市| 泰安市| 三穗县| 安徽省| 高碑店市| 赤峰市| 龙胜| 蒙阴县| 穆棱市| 乌鲁木齐市| 钟祥市| 扶沟县| 阿克陶县| 新巴尔虎右旗| 高邮市| 黔东| 旺苍县| 德兴市| 梅州市| 濮阳市| 界首市| 巴南区| 蕲春县| 时尚| 甘泉县| 磐安县| 博客| 南涧|