什麼是例項
這裡的例項不是類產生的例項物件,而是linux系統下的一種機制
1.mysql的後台程序+執行緒+預分配的記憶體結構。
2.mysql在啟動的過程中會啟動後台守護程序,並生成工作執行緒,預分配記憶體結構供mysql處理資料使用。
mysql三層構成
連線層1.提供鏈結協議(socket,tcp/ip) #這裡的socket也不是網路連線的socket,mysql的socket連線只能連線本地
2.驗證使用者的合法性(使用者名稱,密碼,白名單)
3.提供乙個專用連線線程(接收sql,返回結果,將sql語句交給sql層繼續處理)
sql層
1.接收到sql語句,語法判斷
2.判斷語義(判斷語句型別:dml,ddl,dcl,dql)
3.解析sql語句,生成多種執行計畫
4.優化器,選擇它認為成本最低的執行計畫(通俗講就是選擇速度快,消耗低的sql語句型別)
5.執行器根據優化器的選擇,按照優化器建議執行sql語句,得到去哪兒找sql語句需要訪問的資料
5.1.具體:在哪個資料檔案上的哪個資料頁中
5.2.將以上結果充送給下層繼續處理
6.接收儲存引擎層的資料,結構化成表的形式,通過連線層提供的專用線程
7.提供查詢快取
7.1.query_cache使用memcached或redis代替
8.日誌記錄(binlog)
儲存引擎層
1.接收上層的執行結果
2.取出磁碟檔案和相應資料
3.返回給sql層,結構化之後生成**,由專用線程返回給客戶端
msql的邏輯結構
mysql的邏輯物件:做為管理人員或者開發人員操作的物件
1.庫2.表:元資料+真實資料行
3.元資料:列+其他屬性(行數+占用空間大小+許可權)
4.列:列名字+資料型別+其他約束(非空,唯一,主鍵,非負數,自增長,預設值)
最直觀的資料:二維表,必須用庫來存放
mysql邏輯結構與linux系統對比
mysql的物理結構
1)mysql的最底層的物理結構是資料檔案,也就是說,儲存引擎層,打交道的檔案,是資料檔案。
2)儲存引擎分為很多種類(linux中的fs)
3)不同儲存引擎的區別:儲存方式、安全性、效能
段、區、頁(塊)
2、區:連續的多個頁構成
3、頁:最小的資料儲存單元,預設是16k
mysql伺服器拒絕鏈結 mysql伺服器拒絕連線
1 連線mysql伺服器報錯 通過 mysql hhost u user p 命令連線mysql伺服器時,報以下錯誤 error 1130 hy000 host hostname is not allowed to connect to this mysql server 2 原因 這是因為mysq...
mysql 伺服器 管理 MySQL伺服器元件
mysql伺服器元件 mysql server包括用於擴充套件伺服器功能的基於元件的基礎結構。元件提供伺服器和其他元件可用的服務。就服務使用而言,伺服器是乙個元件,與其他元件相同。元件僅通過它們提供的服務進行互動。mysql發行版包含幾個實現伺服器擴充套件的元件 用於配置錯誤日誌記錄的元件。請參見 ...
mysql多伺服器 mysql 多伺服器例項
測試環境是在windows下。不同系統啟動和停止命令有所差異 1 修改配置檔案 把需要配置的選項都設定成不一樣的 需要修改的地方有 client password your password port 3308 經過測試,這個埠改不改都沒什麼問題,但是還是改了保險點吧 socket d servic...