内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

MySQL中怎么實現(xiàn)權限管理

MySQL中怎么實現(xiàn)權限管理,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

創(chuàng)新互聯(lián)自2013年起,先為五龍口等服務建站,五龍口等地企業(yè),進行企業(yè)商務咨詢服務。為五龍口企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務解決您的所有建站問題。

1.用戶權限簡介

當我們創(chuàng)建過數(shù)據(jù)庫用戶后,還不能執(zhí)行任何操作,需要為該用戶分配適當?shù)脑L問權限。

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

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

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

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

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

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

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

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

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

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

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

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

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

MySQL中怎么實現(xiàn)權限管理

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

MySQL中怎么實現(xiàn)權限管理

2.權限管理實戰(zhàn)

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

# 創(chuàng)建用戶 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 用來指定權限針對哪些庫和表。 *.* 中前面的*號用來指定數(shù)據(jù)庫名,后面的*號用來指定表名。 TO 表示將權限賦予某個用戶。 'test_user'@'%' 表示test_user用戶,@后面接限制的主機,可以是IP、IP段、域名以及%,%表示任何地方。  # 刷新權限 flush privileges;  # 查看某個用戶的權限 show grants for 'test_user'@'%';  # 回收權限 revoke delete on `testdb`.* from 'test_user'@'%';

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

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

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

  • 創(chuàng)建用戶的時候限制用戶的登錄主機,一般是限制成指定 IP 或者內(nèi)網(wǎng) IP 段。

  • 給各個服務單獨創(chuàng)建數(shù)據(jù)庫用戶,單個用戶最好只能操作單個庫。

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

  • 若有外部系統(tǒng)調(diào)用,應配置只讀用戶,并且權限要精確到表或視圖。

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

關于MySQL中怎么實現(xiàn)權限管理問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關知識。

名稱欄目:MySQL中怎么實現(xiàn)權限管理
分享地址:http://www.rwnh.cn/article48/phooep.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、App設計、外貿(mào)網(wǎng)站建設、網(wǎng)站營銷、網(wǎng)站改版、企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設計公司
汉中市| 泸州市| 宁明县| 阜宁县| 海安县| 澳门| 剑河县| 永定县| 黎平县| 曲靖市| 德清县| 博兴县| 广元市| 北碚区| 垣曲县| 巴彦县| 东莞市| 青神县| 武夷山市| 潢川县| 铅山县| 文昌市| 溧水县| 泰安市| 侯马市| 北流市| 昭苏县| 延安市| 长岭县| 临泉县| 泰来县| 辉县市| 田阳县| 连南| 西乌珠穆沁旗| 石城县| 建昌县| 改则县| 河曲县| 巧家县| 兴宁市|