最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL的權限管理設置方法

 更新時間:2026年01月22日 09:41:48   作者:阿坤帶你走近大數(shù)據(jù)  
本文介紹了MySQL中的權限管理,包括查看、設置和撤銷權限,普通用戶只能查看自己的權限,設置權限需要管理員操作,管理員可以通過GRANT語句授予權限,并通過REVOKE語句撤銷權限,建議遵循最小權限原則,限制主機范圍,并定期審計權限,感興趣的朋友跟隨小編一起看看吧

在 MySQL 中,用戶查看自己的權限設置(修改)權限是兩個不同的操作:

  • 查看權限:普通用戶可自行操作
  • 設置/修改權限必須由管理員(如 root)執(zhí)行,普通用戶不能給自己授權(除非被授予 GRANT OPTION

下面分兩部分詳細說明:

一、? 用戶如何查看自己的權限?

方法 1:使用SHOW GRANTS(最推薦)

-- 查看當前用戶的全部權限
SHOW GRANTS;

? 輸出示例:

+------------------------------------------------------------------+
| Grants for 'app_user'@'%'                                        |
+------------------------------------------------------------------+
| GRANT USAGE ON *.* TO `app_user`@`%`                             |
| GRANT SELECT, INSERT, UPDATE ON `shop_db`.* TO `app_user`@`%`    |
+------------------------------------------------------------------+
  • USAGE 表示“能連接”,無實際數(shù)據(jù)權限
  • 第二行表示:對 shop_db 庫的所有表有 查詢、插入、更新 權限

方法 2:確認當前身份(避免混淆)

-- 查看當前會話使用的賬號
SELECT USER();          -- 你登錄時用的賬號(如 'app_user'@'192.168.1.50')
SELECT CURRENT_USER();  -- MySQL 實際用于權限校驗的賬號(如 'app_user'@'%')

?? 通常 CURRENT_USER() 才是權限匹配的依據(jù)。

方法 3:檢查是否有某項具體權限(高級)

-- 檢查是否對某個庫有 SELECT 權限
SELECT 
  TABLE_SCHEMA AS database_name,
  PRIVILEGE_TYPE
FROM INFORMATION_SCHEMA.SCHEMA_PRIVILEGES
WHERE GRANTEE = CONCAT('''', REPLACE(CURRENT_USER(), '@', '''@'''), '''')
  AND PRIVILEGE_TYPE = 'SELECT';

?? 普通用戶一般用不到,SHOW GRANTS 已足夠。

二、??? 如何設置(授予)權限?(需管理員操作)

?? 重要前提
普通用戶無法給自己授權!必須由具有 GRANT OPTION 權限的管理員(如 root)執(zhí)行。

步驟 1:管理員登錄 MySQL

mysql -u root -p

步驟 2:使用GRANT語句授予權限

?? 場景 1:授予數(shù)據(jù)庫級權限(最常用)

-- 授予 app_user 對 shop_db 庫的 增刪改查 權限
GRANT SELECT, INSERT, UPDATE, DELETE ON shop_db.* TO 'app_user'@'%';
-- 刷新權限(MySQL 8.0+ 通常不需要,但安全起見可加)
FLUSH PRIVILEGES;

?? 場景 2:授予只讀權限

GRANT SELECT ON shop_db.* TO 'readonly_user'@'192.168.1.%';

?? 場景 3:授予所有權限(慎用?。?/h4>
GRANT ALL PRIVILEGES ON shop_db.* TO 'admin_user'@'localhost';

?? 場景 4:允許該用戶再授權給他人(危險?。?/h4>
GRANT SELECT ON shop_db.* TO 'user'@'%' WITH GRANT OPTION;

常用權限類型速查表

權限作用
SELECT查詢數(shù)據(jù)
INSERT插入數(shù)據(jù)
UPDATE修改數(shù)據(jù)
DELETE刪除數(shù)據(jù)
CREATE創(chuàng)建表/庫
DROP刪除表/庫
ALTER修改表結構
INDEX創(chuàng)建/刪除索引
EXECUTE執(zhí)行存儲過程
ALL PRIVILEGES所有權限(不含 GRANT OPTION

?? 語法格式:

GRANT 權限列表 ON 數(shù)據(jù)庫.表 TO '用戶名'@'主機';

步驟 3:驗證權限是否生效

管理員可查看剛授予的權限:

SHOW GRANTS FOR 'app_user'@'%';

用戶重新連接后即可使用新權限。

三、? 撤銷權限(Revoke)

管理員也可隨時收回權限:

-- 撤銷 app_user 的 DELETE 權限
REVOKE DELETE ON shop_db.* FROM 'app_user'@'%';
-- 撤銷所有權限
REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'app_user'@'%';

四、?? 最佳實踐建議

對普通用戶:

  • 使用 SHOW GRANTS; 快速了解自己能做什么
  • 不要嘗試直接修改 mysql.user 表(會導致權限不一致)

對管理員:

  • 最小權限原則:只給業(yè)務必需的權限(如 Web 應用通常不需要 DROP
  • 限制主機范圍:如 'app_user'@'10.0.0.%' 而非 'app_user'@'%'
  • 避免使用 root 跑應用!創(chuàng)建專用賬號

五、常見問題解答

Q:為什么我執(zhí)行GRANT報錯 “Access denied”?

A:你當前用戶沒有 GRANT OPTION 權限。請聯(lián)系 DBA 或用 root 操作。

Q:授予權限后,應用仍報 “Permission denied”?

A:檢查:

  1. 是否連接的是正確的數(shù)據(jù)庫?
  2. 用戶 host 是否匹配?('user'@'localhost''user'@'%'
  3. 是否需要重啟應用?(某些連接池會緩存權限)

Q:能否授權到列級別?

A:可以,但極少用:

GRANT SELECT (name, email) ON shop_db.users TO 'user'@'%';

? 總結

操作誰執(zhí)行命令
查看自己權限任意用戶SHOW GRANTS;
授予/修改權限管理員GRANT ... TO 'user'@'host';
撤銷權限管理員REVOKE ... FROM 'user'@'host';

?? 核心原則
權限管理 = 安全基石,務必遵循最小權限、明確范圍、定期審計。

到此這篇關于MySQL的權限管理的簡單介紹的文章就介紹到這了,更多相關mysql權限管理內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • MySQL日期時間類型與字符串互相轉換的方法

    MySQL日期時間類型與字符串互相轉換的方法

    這篇文章主要介紹了MySQL日期時間類型與字符串互相轉換的方法,文中通過代碼示例和圖文結合的方式給大家講解的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下
    2024-07-07
  • 解決mysql5.6 utf8設置無效問題

    解決mysql5.6 utf8設置無效問題

    這篇文章主要介紹了mysql5.6 utf8設置無效問題,本文雖然內容不長,但是解決方法給出,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02
  • Linux系統(tǒng)每日定時備份mysql數(shù)據(jù)的方法步驟

    Linux系統(tǒng)每日定時備份mysql數(shù)據(jù)的方法步驟

    這篇文章主要介紹了Linux系統(tǒng)每日定時備份mysql數(shù)據(jù)的方法步驟,包括創(chuàng)建文件夾、編寫腳本、設置定時任務和測試腳本,詳細步驟涵蓋從文件夾創(chuàng)建到腳本執(zhí)行的全過程,幫助用戶實現(xiàn)數(shù)據(jù)庫的自動備份,需要的朋友可以參考下
    2024-11-11
  • 安裝MySQL常見的三種方式

    安裝MySQL常見的三種方式

    MySQL是一個開放源碼的小型關聯(lián)式數(shù)據(jù)庫管理系統(tǒng),被廣泛地應用在Internet上的中小型網(wǎng)站中。接下來通過本篇文章給大家分享安裝MySQL常見的三種方式,需要的朋友可以參考下
    2015-09-09
  • 檢測MySQL的表的故障的方法

    檢測MySQL的表的故障的方法

    這篇文章主要介紹了檢測MySQL的表的故障的方法,文中給出的方法基于myisamchk和isamchk這兩個檢測工具,需要的朋友可以參考下
    2015-07-07
  • MySQL?EXPLAIN用法實例深度詳解

    MySQL?EXPLAIN用法實例深度詳解

    EXPLAIN是MySQL提供的性能分析工具,用于查看SQL查詢的執(zhí)行計劃,這篇文章主要介紹了MySQL EXPLAIN用法的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2026-04-04
  • Centos7下MySQL安裝教程

    Centos7下MySQL安裝教程

    這篇文章主要為大家詳細介紹了Centos7下MySQL安裝教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • MySQL中WITH ROLLUP的具體使用

    MySQL中WITH ROLLUP的具體使用

    本文主要介紹了MySQL中WITH ROLLUP的具體使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-07-07
  • MySQL增刪查改、多表查詢的操作大全

    MySQL增刪查改、多表查詢的操作大全

    本文介紹MySQL增刪查改、多表查詢的操作大全,文章主要內容涵蓋了數(shù)據(jù)庫操作中的增刪查改、多表查詢、自連接、聯(lián)合查詢和子查詢等知識,感興趣的朋友跟隨小編一起看看吧
    2025-12-12
  • 如何修改MySQL字符集

    如何修改MySQL字符集

    這篇文章主要介紹了如何修改MySQL字符集,幫助大家更好的理解和使用MySQL數(shù)據(jù)庫,感興趣的朋友可以了解下
    2020-09-09

最新評論

香河县| 涟水县| 寻甸| 罗源县| 泸定县| 左权县| 探索| 尼勒克县| 恩施市| 贵阳市| 西安市| 武陟县| 阜南县| 镶黄旗| 尼勒克县| 张家界市| 南召县| 青浦区| 台州市| 克什克腾旗| 沐川县| 靖江市| 图木舒克市| 南漳县| 新和县| 惠东县| 阿合奇县| 白银市| 桑植县| 藁城市| 新郑市| 玛纳斯县| 锡林郭勒盟| 太和县| 高雄县| 靖江市| 涟水县| 乌拉特后旗| 太湖县| 青州市| 邛崃市|