亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

詳細解讀MySQL中的權限

 更新時間:2015年05月07日 12:12:06   投稿:goldensun  
這篇文章主要介紹了MySQL中的權限,包括各個權限所能操作的事務以及操作權限的一些常用命令語句,需要的朋友可以參考下

一、前言

   很多文章中會說,數(shù)據(jù)庫的權限按最小權限為原則,這句話本身沒有錯,但是卻是一句空話。因為最小權限,這個東西太抽象,很多時候你并弄不清楚具體他需要哪些權限。 現(xiàn)在很多mysql用著root賬戶在操作,并不是大家不知道用root權限太大不安全,而是很多人并不知道該給予什么樣的權限既安全又能保證正常運行。所以,本文更多的是考慮這種情況下,我們該如何簡單的配置一個安全的mysql。注:本文測試環(huán)境為mysql-5.6.4
二、Mysql權限介紹

   mysql中存在4個控制權限的表,分別為user表,db表,tables_priv表,columns_priv表。

   mysql權限表的驗證過程為:

1.先從user表中的Host,User,Password這3個字段中判斷連接的ip、用戶名、密碼是否存在,存在則通過驗證。

2.通過身份認證后,進行權限分配,按照user,db,tables_priv,columns_priv的順序進行驗證。即先檢查全局權限表user,如果user中對應的權限為Y,則此用戶對所有數(shù)據(jù)庫的權限都為Y,將不再檢查db, tables_priv,columns_priv;如果為N,則到db表中檢查此用戶對應的具體數(shù)據(jù)庫,并得到db中為Y的權限;如果db中為N,則檢查tables_priv中此數(shù)據(jù)庫對應的具體表,取得表中的權限Y,以此類推。

三、mysql有哪些權限

201557120429872.jpg (698×734)

201557120509083.jpg (702×342)

四、數(shù)據(jù)庫層面(db表)的權限分析

201557120536129.jpg (699×737)

五、mysql安全配置方案

   1 限制訪問mysql端口的ip

   windows可以通過windows防火墻或者ipsec來限制,linux下可以通過iptables來限制。

   2 修改mysql的端口

   windows下可以修改配置文件my.ini來實現(xiàn),linux可以修改配置文件my.cnf來實現(xiàn)。

   3 對所有用戶設置強密碼并嚴格指定對應賬號的訪問ip

   mysql中可在user表中指定用戶的訪問可訪問ip

   4 root特權賬號的處理

   建議給root賬號設置強密碼,并指定只容許本地登錄

   5 日志的處理

   如需要可開啟查詢?nèi)罩?,查詢?nèi)罩緯涗浀卿浐筒樵冋Z句。

   6 mysql進程運行賬號

   在windows下禁止使用local system來運行mysql賬戶,可以考慮使用network service或者自己新建一個賬號,但是必須給與mysql程序所在目錄的讀取權限和data目錄的讀取和寫入權限; 在linux下,新建一個mysql賬號,并在安裝的時候就指定mysql以mysql賬戶來運行,給與程序所在目錄的讀取權限,data所在目錄的讀取和寫入權限。

   7 mysql運行賬號的磁盤權限

1)mysql運行賬號需要給予程序所在目錄的讀取權限,以及data目錄的讀取和寫入權限
2)不容許給予其他目錄的寫入和執(zhí)行權限,特別是有網(wǎng)站的。
3)取消mysql運行賬戶對于cmd,sh等一些程序的執(zhí)行權限。

   8 網(wǎng)站使用的mysql賬戶的處理

   新建一個賬戶,給予賬戶在所使用數(shù)據(jù)庫的所有權限即可。這樣既能保證網(wǎng)站對所對應的數(shù)據(jù)庫的全部操作,也能保證賬戶不會因為權限過高而影響安全。給予單個數(shù)據(jù)庫的所有權限的賬戶不會擁有super, process, file等管理權限的。 當然,如果能很明確是的知道,我的網(wǎng)站需要哪些權限,還是不要多給權限,因為很多時候發(fā)布者并不知道網(wǎng)站需要哪些權限,我才建議上面的配置。而且我指的通用的,具體到只有幾臺機器,不多的情況下,我個人建議還是給予只需要的權限,具體可參考上面的表格的建議。

   9 刪除無用數(shù)據(jù)庫

   test數(shù)據(jù)庫對新建的賬戶默認有權限
六、mysql入侵提權分析及防止措施

   一般來說,mysql的提權有這么幾種方式:

   1 udf提權

   此方式的關鍵導入一個dll文件,個人認為只要合理控制了進程賬戶對目錄的寫入權限即可防止被導入dll文件;然后如果萬一被攻破,此時只要進程賬戶的權限夠低,也沒辦執(zhí)行高危操作,如添加賬戶等。

   2 寫入啟動文件

   這種方式同上,還是要合理控制進程賬戶對目錄的寫入權限。

   3 當root賬戶被泄露

   如果沒有合理管理root賬戶導致root賬戶被入侵,此時數(shù)據(jù)庫信息肯定是沒辦法保證了。但是如果對進程賬戶的權限控制住,以及其對磁盤的權限控制,服務器還是能夠保證不被淪陷的。

   4 普通賬戶泄露(上述所說的,只對某個庫有所有權限的賬戶)

   此處說的普通賬戶指網(wǎng)站使用的賬戶,我給的一個比較方便的建議是直接給予特定庫的所有權限。賬戶泄露包括存在注入及web服務器被入侵后直接拿到數(shù)據(jù)庫賬戶密碼。

   此時,對應的那個數(shù)據(jù)庫數(shù)據(jù)不保,但是不會威脅到其他數(shù)據(jù)庫。而且這里的普通賬戶無file權限,所有不能導出文件到磁盤,當然此時還是會對進程的賬戶的權限嚴格控制。

   普通賬戶給予什么樣的權限可以見上表,實在不會就直接給予一個庫的所有權限。
七、安全配置需要的常用命令

   1.新建一個用戶并給予相應數(shù)據(jù)庫的權限
  

 grant select,insert,update,delete,create,drop privileges on database.* to user@localhost identified by 'passwd';
 grant all privileges on database.* to user@localhost identified by 'passwd';

     2.刷新權限

flush privileges;

   3. 顯示授權

show grants;

   4. 移除授權

revoke delete on *.* from 'jack'@'localhost';

   5. 刪除用戶

drop user 'jack'@'localhost';

   6. 給用戶改名

rename user 'jack'@'%' to 'jim'@'%';

   7. 給用戶改密碼

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('123456');

   8. 刪除數(shù)據(jù)庫

drop database test;

   9. 從數(shù)據(jù)庫導出文件

select * from a into outfile "~/abc.sql"

相關文章

  • Windows Server 2003下修改MySQL 5.5數(shù)據(jù)庫data目錄

    Windows Server 2003下修改MySQL 5.5數(shù)據(jù)庫data目錄

    這篇文章主要介紹了Windows Server 2003下修改MySQL 5.5數(shù)據(jù)庫data目錄,需要的朋友可以參考下
    2016-04-04
  • MySQL too many connections錯誤的原因及解決

    MySQL too many connections錯誤的原因及解決

    這篇文章主要介紹了MySQL too many connections錯誤的原因及解決,幫助大家更好的理解和學習使用MySQL,感興趣的朋友可以了解下
    2021-03-03
  • mysqlsla慢查詢分析工具使用筆記

    mysqlsla慢查詢分析工具使用筆記

    mysqlsla是一款幫助語句分析、過濾、和排序的功能,能夠處理MySQL慢查詢?nèi)罩?、二進制日志等。整體來說, 功能非常強大. 能制作SQL查詢數(shù)據(jù)報表,分析包括執(zhí)行頻率, 數(shù)據(jù)量, 查詢消耗等
    2014-05-05
  • mysql 8.0.11安裝配置方法圖文教程

    mysql 8.0.11安裝配置方法圖文教程

    這篇文章主要為大家詳細介紹了mysql 8.0.11安裝配置方法圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • 高性能MySQL讀書筆記 找出誰持有鎖

    高性能MySQL讀書筆記 找出誰持有鎖

    周末重讀了一遍《高性能MySQL》,發(fā)現(xiàn)有些知識點看過便忘了,沒有實際動手操作一遍就是記不牢,所以今天動手操作了一下“找出誰持有鎖”,并把實驗步驟記錄下來,有興趣的網(wǎng)友可以參照一二。
    2011-01-01
  • mysql雙機熱備實現(xiàn)方案【可測試】

    mysql雙機熱備實現(xiàn)方案【可測試】

    雙機熱備從廣義上講,就是對于重要的服務,使用兩臺服務器,互相備份,共同執(zhí)行同一服務。這篇文章主要介紹了mysql雙機熱備實現(xiàn)方案,需要的朋友可以參考下
    2019-10-10
  • Mysql Binlog數(shù)據(jù)查看的方法詳解

    Mysql Binlog數(shù)據(jù)查看的方法詳解

    這篇文章主要介紹了Mysql Binlog數(shù)據(jù)查看的方法詳解,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-07-07
  • MySQL ClickHouse不同于SQL的語法介紹

    MySQL ClickHouse不同于SQL的語法介紹

    CloudCanal 近期實現(xiàn)了 MySQL(RDS) 到 ClickHouse 實時同步的能力,功能包含全量數(shù)據(jù)遷移、增量數(shù)據(jù)遷移、結構遷移能力,以及附帶的監(jiān)控、告警、HA等能力
    2022-11-11
  • 比較詳細的MySQL字段類型說明

    比較詳細的MySQL字段類型說明

    MySQL支持大量的列類型,它可以被分為3類:數(shù)字類型、日期和時間類型以及字符串(字符)類型。本節(jié)首先給出可用類型的一個概述,并且總結每個列類型的存儲需求,然后提供每個類中的類型性質(zhì)的更詳細的描述。概述有意簡化,更詳細的說明應該考慮到有關特定列類型的附加信息,例如你能為其指定值的允許格式。
    2008-08-08
  • MySQL如何快速導入數(shù)據(jù)

    MySQL如何快速導入數(shù)據(jù)

    這篇文章主要介紹了MySQL如何快速導入數(shù)據(jù),幫助大家更好的理解和學習MySQL,感興趣的朋友可以了解下
    2020-08-08

最新評論