Mysql總體架構

2021-10-06 05:41:38 字數 3141 閱讀 4896

授權命令:

grant 許可權1

,許可權2

,…許可權n on 資料庫名稱.表名稱 to 使用者名稱@使用者位址 identified by 『連線口令』;

該許可權如果發現沒有該使用者,則會直接新建乙個使用者。

grant select,insert,delete,drop on atguigudb.

* to li4@localhost;

#給li4使用者用本地命令列方式下,授予atguigudb這個庫下的所有表的插刪改查的許可權。

grant all privileges on *

.* to joe@'%' identified by '123'

; #授予通過網路方式登入的的joe使用者 ,對所有庫所有表的全部許可權,密碼設為123.

檢視當前使用者許可權

show grants;

收回許可權命令: 

revoke 許可權1

,許可權2

,…許可權n on 資料庫名稱.表名稱 from 使用者名稱@使用者位址 ;

收回全庫全表的所有許可權

revoke all privileges on mysql.

* from joe@localhost;

#收回mysql庫下的所有表的插刪改查許可權

revoke select,insert,update,delete on mysql.

* from joe@localhost;

注意:必須使用者重新登入後才能生效management serveices & utilities:

系統管理和控制工具

sql inte***ce: sql介面

接受使用者的sql命令,並且返回使用者需要查詢的結果。比如select from就是呼叫sql inte***ce

parser: 解析器

sql命令傳遞到解析器的時候會被解析器驗證和解析

optimizer: 查詢優化器。

sql語句在查詢之前會使用查詢優化器對查詢進行優化。

用乙個例子就可以理解: select uid,name from user where gender= 1;

優化器來決定先投影還是先過濾。

cache和buffer: 查詢快取。

如果查詢快取有命中的查詢結果,查詢語句就可以直接去查詢快取中取資料。這個快取機制是由一系列小快取組成的。比如表快取,記錄快取,key快取,許可權快取等

mysql客戶端通過協議與mysql伺服器建連線,傳送查詢語句,先檢查查詢快取,如果命中,直接返回結果,否則進行語句解析,也就是說,在解析查詢之前,伺服器會先訪問查詢快取(query cache)——它儲存select語句以及相應的查詢結果集。如果某個查詢結果已經位於快取中,伺服器就不會再對查詢進行解析、優化、以及執行。它僅僅將快取中的結果返回給使用者即可,這將大大提高系統的效能。

語法解析器和預處理:首先mysql通過關鍵字將sql語句進行解析,並生成一顆對應的「解析樹」。mysql解析器將使用mysql語法規則驗證和解析查詢;預處理器則根據一些mysql規則進一步檢查解析數是否合法。

查詢優化器當解析樹被認為是合法的了,並且由優化器將其轉化成執行計畫。一條查詢可以有很多種執行方式,最後都返回相同的結果。優化器的作用就是找到這其中最好的執行計畫。。

然後,mysql預設使用的btree索引,並且乙個大致方向是:無論怎麼折騰sql,至少在目前來說,mysql最多只用到表中的乙個索引。

1、innodb儲存引擎

innodb是mysql的預設事務型引擎,它被設計用來處理大量的短期(short-lived)事務。除非有非常特別的原因需要使用其他的儲存引擎,否則應該優先考慮innodb引擎。

2、myisam儲存引擎

myisam提供了大量的特性,包括全文索引、壓縮、空間函式(gis)等,但myisam不支援事務和行級鎖,有乙個毫無疑問的缺陷就是崩潰後無法安全恢復。

3、archive引擎

archive檔案儲存引擎只支援insert和select操作,在mysql5.1之前不支援索引。

archive表適合日誌和資料採集類應用。

根據英文的測試結論來看,archive錶比myisam表要小大約75%,比支援事務處理的innodb錶小大約83%。

4、blackhole引擎

blackhole引擎沒有實現任何儲存機制,它會丟棄所有插入的資料,不做任何儲存。但伺服器會記錄blackhole表的日誌,所以可以用於複製資料到備庫,或者簡單地記錄到日誌。但這種應用方式會碰到很多問題,因此並不推薦。

5、csv引擎

csv引擎可以將普通的csv檔案作為mysql的表來處理,但不支援索引。 csv引擎可以作為一種資料交換的機制,非常有用。

csv儲存的資料直接可以在作業系統裡,用文字編輯器,或者excel讀取。

6、memory引擎

如果需要快速地訪問資料,並且這些資料不會被修改,重啟以後丟失也沒有關係,那麼使用memory表是非常有用。memory表至少比myisam表要快乙個數量級。

7、federated引擎

federated引擎是訪問其他mysql伺服器的乙個**,儘管該引擎看起來提供了一種很好的跨伺服器的靈活性,但也經常帶來問題,因此預設是禁用的。

Tomcat 總體架構

首先一定要先感謝 tomcat架構解析 一書的作者劉光瑞,對於我這樣的新手來說,這本書關於tomcat總體架構的介紹能夠讓我快速的了解整個架構的設計背景,達到了循序漸進的目的,在這裡非常推薦新手入手一本。最後這個章節主要是介紹tomcat整體架構的,整體內容主要在於模組介紹以及關聯,希望通過這個章節...

IMS總體架構

ims總體架構 如上圖所示,ims總體架構通常分為三層,接入層 呼叫控制層 業務應用層 上圖中,ims網路主要網元功能說明如下 當前我們主要關注圖中藍色圈點的幾個網元,包括 sip終端 p cscf i cscf s cscf hss as 後續分析總結中主要基於這些網元的互動進行詳細描述。參考文件...

jQuery總體架構

jquery的理念就是 寫更少的 做更多的事 而且做到 的高度相容性。大致可以分為三個部分 構造模組,底層支援模組和功能模組。這裡先分析一下匿名函式 匿名函式的作用是建立一塊封閉區域,外面不能夠訪問裡面的變數和方法,有兩種比較常見的寫法 寫法一 function 寫法二 function 除了這兩種...