成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

MySQL權限管理實戰!

數據庫 MySQL
不清楚各位同學對數據庫用戶權限管理是否了解,作為一名 DBA ,用戶權限管理是繞不開的一項工作內容。特別是生產庫,數據庫用戶權限更應該規范管理。本篇文章將會介紹下 MySQL 用戶權限管理相關內容。

[[393558]]

本文轉載自微信公眾號「MySQL技術」,作者MySQL技術。轉載本文請聯系MySQL技術公眾號。

前言:

不清楚各位同學對數據庫用戶權限管理是否了解,作為一名 DBA ,用戶權限管理是繞不開的一項工作內容。特別是生產庫,數據庫用戶權限更應該規范管理。本篇文章將會介紹下 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 表:存放存儲過程和函數級別的權限。

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

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

2.權限管理實戰

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

  1. # 創建用戶 
  2. create user 'test_user'@'%' identified by 'xxxxxxxx'
  3.  
  4. # 全局權限 
  5. GRANT super,select on *.* to 'test_user'@'%'
  6.  
  7. # 庫權限 
  8. GRANT select,insert,update,delete,create,alter,execute on `testdb`.* to 'test_user'@'%'
  9.  
  10. # 表權限 
  11. GRANT select,insert on `testdb`.tb to 'test_user'@'%'
  12.  
  13. # 列權限 
  14. GRANT select (col1), insert (col1, col2) ON `testdb`.mytbl to 'test_user'@'%'
  15.  
  16. GRANT命令說明: 
  17. super,select 表示具體要授予的權限。 
  18. ON 用來指定權限針對哪些庫和表。 
  19. *.* 中前面的*號用來指定數據庫名,后面的*號用來指定表名。 
  20. TO 表示將權限賦予某個用戶。 
  21. 'test_user'@'%' 表示test_user用戶,@后面接限制的主機,可以是IP、IP段、域名以及%,%表示任何地方。 
  22.  
  23. # 刷新權限 
  24. flush privileges
  25.  
  26. # 查看某個用戶的權限 
  27. show grants for 'test_user'@'%'
  28.  
  29. # 回收權限 
  30. revoke delete on `testdb`.* from 'test_user'@'%'

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

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

  • 只授予能滿足需要的最小權限,防止用戶干壞事。比如用戶只是需要查詢,那就只給 select 權限就可以了。
  • 創建用戶的時候限制用戶的登錄主機,一般是限制成指定 IP 或者內網 IP 段。
  • 給各個服務單獨創建數據庫用戶,單個用戶最好只能操作單個庫。
  • 及時記錄各數據庫用戶權限等信息,以免忘記。
  • 若有外部系統調用,應配置只讀用戶,并且權限要精確到表或視圖。
  • 定期清理不需要的用戶,回收權限或者刪除用戶。

參考:

https://dev.mysql.com/doc/refman/5.7/en/privileges-provided.html

https://www.cnblogs.com/richardzhu/p/3318595.html

 

責任編輯:武曉燕 來源: MySQL技術
相關推薦

2025-05-14 08:20:00

Linux權限管理sudo

2020-12-24 17:40:00

MySQL角色管理數據庫

2021-11-12 15:42:34

MySQL數據庫權限

2010-10-12 15:30:04

MySQL權限管理

2017-10-31 11:30:22

數據庫MySQL權限管理

2017-07-11 09:21:40

quartzshiro權限框架

2010-01-19 10:25:31

網絡管理v

2010-01-19 22:25:56

IT運維管理Mocha ITOM摩卡軟件

2024-03-15 11:47:19

Vue2前端權限控制

2010-04-09 17:35:22

2017-03-20 19:01:20

Linux管理員系統用戶

2009-12-23 15:55:53

Linux權限管理

2013-11-21 09:10:27

MongoDB

2011-04-13 09:53:20

2024-09-05 15:52:03

Python文件權限

2022-01-07 07:29:08

Rbac權限模型

2025-06-30 01:33:00

2023-12-20 10:14:24

2025-01-07 08:40:00

微服務

2023-11-02 09:03:24

權限管理系統
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产免费视频 | 成年人在线播放 | 日本一区二区三区免费观看 | 女人夜夜春 | 国产精品一区二区在线播放 | 日韩视频一区在线观看 | 日韩激情网 | 国产精品免费一区二区三区 | www.久 | 天天干天天玩天天操 | 精精精精xxxx免费视频 | 久久久精品一区 | 亚洲精品一区二三区不卡 | 日韩成人在线播放 | 视频1区2区 | www.成人.com | 国产三级 | 国产成人精品久久二区二区91 | 中文字幕乱码一区二区三区 | 国产伊人精品 | 久久一二三区 | 人人干人人爽 | 在线成人免费视频 | 欧美视频一级 | 亚洲国产69 | 日韩精品视频一区二区三区 | 午夜色婷婷 | 最新午夜综合福利视频 | 欧美男人天堂 | 天天射天天干 | 中文字幕免费视频 | 91香蕉嫩草| 蜜臀久久99精品久久久久野外 | 最新日韩精品 | 国产伊人精品 | 久久爱综合 | 欧美日韩电影一区二区 | 久久久久久久91 | 在线免费观看黄色 | 黄色高清视频 | 亚洲欧美中文日韩在线v日本 |