MySQL的原理,安裝和基本使用

來源:互聯網
上載者:User

mysql執行流程:

mysql是一個單進程的服務,對於每一個請求都是用線程來響應的,這就需要一個連接器來處理新使用者的請求,響應,銷毀


1.用戶端請求,伺服器端(連接器)開闢線程響應使用者

2.使用者發起SQL語句查詢資料庫

3.查詢快取:記錄使用者的SQL查詢語句,如果重新查詢同樣內容,就返回緩衝

4.如果緩衝沒有進入分析器:(分析器也可能借簽緩衝)

文法分析器:使用者命令文法是否正確

詞法分析器:將使用者的命令進行切片,一個詞一個詞用空格隔開,獲得使用者要查詢的表,內容,使用者的許可權等

5.最佳化:執行路徑的選擇,產生執行樹

每個SQL語句都有很多執行路徑,最佳化的目的就是在這些執行路徑裡選擇一個最優的執行路徑

6.儲存引擎:用於管理儲存在檔案系統,甚至是裸裝置上的資料管理程式,它本身給上層應用提供不同的管理,有的支援事務,有的不支援事務。


#查詢快取可以大大加速這個過程,不過緩衝本身可能帶來劣勢,假如一個使用者要查詢一個資料,正好緩衝裡有,而在之前,這條資料剛剛被修改過那麼返回的緩衝結果就是過時的。


MYSQL的結構:


用戶端:mysql

連接器: NativeC API 本地C語言介面

JDBCJAVA的資料庫連接器

ODBC開放式資料庫互聯,非常底層 Oracle,SOLServer都支援

串連池(conetcionpool):它的後方是MYSQL的真正功能

SQL介面:使用者通過sql用戶端發過來的命令,由sql介面接收

DML資料操作語言:查詢,修改,升級資料等

DDL資料定義語言 (Data Definition Language):建立一個新的資料庫,新的索引,刪除一個使用者等

預存程序視圖觸發器


Parser:分析器

查詢 事務 對象許可權

optimizer:訪問路徑

產生執行樹


caches&buffers:緩衝和緩衝

最佳化裡最重要的是緩衝的最佳化


pluggablestroage engines儲存引擎(外掛程式式):將邏輯結構轉換為物理結構的程式

ManagementServices & Utilites工具:備份,恢複,安全,移植,叢集等,這些工具一般和檔案系統打交道,不需要和mysql-server打交道,它們對應的都是命令。

資料庫物件:(邏輯)

表,二維關係

索引

視圖

觸發器

預存程序

儲存函數

事件調讀器

遊標

使用者


物理

檔案


將資料庫物件和物理對象對應起來就是儲存引擎

Mysql

*外掛程式式的儲存引擎


mysql與mysql的串連方式:tcp,socket,pipe,memory


mysql的互動方式:interact batch


SQL

結構化查詢語言 (SQL)

bash

select,update,create,drop


Mysql安裝

版本選擇:

GA

RC

beta

alpha


在以後的使用過程中,RPM包很方便,但是會帶來各種問題,所以盡量使用編譯安裝甚至是LFS

Mysql-client

Mysql-devel:編譯安裝軟體包,需要用到Mysql的時候才安裝這個軟體包

Mysql-embedded: mysq嵌入式

Mysql-ndb-management

Mysql-server

Mysql-shared:可能被用戶端或者伺服器端的某些工具用到

Mysql-shared-compat

Mysql-test:測試Mysql,提供測試組件


一般來講,完全的MYSQL只需要安裝clientdevel share server


安裝目錄的作用

bin

data預設情況下將資料和索引存放的目錄

inclued

lib

man

mysql-test

scripts安裝時的初始化指令碼

share某種特定語言的錯誤資訊的,資訊原始檔案存放

sql-bench壓力測試工具

support-file提供一些初始化的檔案和指令碼

  • 1
  • 2
  • 3
  • 下一頁

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.