客戶端連線mysql的方式:
1. 通過網路連線
mysql -uroot -p123456 -h 10.0.0.128 -p 3307
2. 通過套接字檔案
mysql -uroot -p123456 -s /tmp/mysql.sock
mysql -uroot -poldboy123使用的是什麼連線方式?
這種方式預設是用:mysql -uroot -poldboy123 -s /tmp/mysql.sock
設定密碼:
mysqladmin -u root password 'oldboy123' mysql -uroot -poldboy123
注意:這裡設定的root密碼,僅僅為root通過本機登入的密碼
清理使用者及無用資料庫(基本優化)
select user,host from mysql.user; drop user ''@'db02';
drop user ''@'localhost';
drop user 'root'@'db02';
drop user 'root'@'::1';
select user,host from mysql.user; drop database test;
show databases;
例項mysql在啟動過程
– 啟動後台守護程序,並生成工作執行緒
– 預分配記憶體結構供mysql處理資料使用
例項是什麼?
mysql的後台程序+執行緒+預分配的記憶體結構
關於mysqld的結構和工作原理
由上圖可以mysqld 包括連線層、sql層、儲存引擎層。
連線層連線層包括:
通訊協議: tcp,socket等
執行緒:連線線程主要用來接受sql請求語句交給sql層,傳送sql語句請求的結果
驗證:使用者名稱和密碼的驗證
sql層
sql層:由解析器把sql語句解析成執行計畫,執行器負責執行剛才解析出來的執行計畫。當解析器解析出來多種執行計畫之後,執行器不知道該如何執行,所以這時需要優化器進行決策去找到一種耗費資源比較小,速度比較快的執行計畫,再交給執行器執行。執行器執行完最優的執行計畫之後,把執行結果交給儲存引擎層,sql層的工作就完成了。儲存引擎需要執行結果才知道去哪塊磁碟的哪個檔案上的那段資料返回給使用者。
快取記憶體:作用見下圖
查詢日誌記錄:二進位制日誌記錄,所有的查詢語句以sql的形式儲存下來。
儲存引擎層
儲存引擎需要拿到執行計畫的執行結果才知道去哪塊磁碟的哪個檔案上的那段資料返回給使用者。
儲存引擎是充當不同表型別的處理程式的伺服器元件。
• 儲存引擎用於:
– 儲存資料
– 檢索資料
– 通過索引查詢資料
• 雙層處理
– 上層包括sql解析器和優化器
– 下層包含一組儲存引擎
• sql 層不依賴於儲存引擎:
– 引擎不影響sql處理
– 有一些例外
依賴於儲存引擎的功能有:
儲存介質
事務功能
鎖定備份和恢復
優化特殊功能
mysql的處理流程?
連線->連線層->連線線程->sql層->判斷語法->去快取記憶體查詢是否有快取->沒有->解析器解析成執行計畫->優化器->執行器執行結果->儲存引擎層去取資料->返回給sql層進行結構化(變成我們能看懂的形式)->連線線程返回給使用者
資料庫給我展示出來的形式是:庫、表、行、列
程式檔案隨資料目錄一起儲存在伺服器安裝目錄下。執行各種客戶機程式、管理程式和實用程式時將建立程式可執行檔案和日誌檔案。首要使用磁碟空間的是資料目錄。
• 伺服器日誌檔案和狀態檔案: 包含有關伺服器處理的語句的資訊。日誌可用於進行故障排除、監視、複製和恢復。
• innodb 日誌檔案: (適用於所有資料庫)駐留在資料目錄級別。
• innodb 系統表空間:
包含資料字典、撤消日誌和緩衝區。
每個資料庫在資料目錄下均具有單一目錄(無論在資料庫中建立何種型別的表)。
資料庫目錄儲存以下內容:
與某個表關聯並在該錶發生特定事件時啟用的命名資料庫物件。 資料目錄的位置取決於配置、作業系統、安裝包和分發。典型位置是 /var/lib/mysql。 mysql 在磁碟上儲存系統資料庫 (mysql)。mysql 包含諸如使用者、特權、外掛程式、 幫助列表、事件、時區實現和儲存例程之類的資訊。
mysql 體系結構 了解MySQL體系結構
mysql 資料庫體系結構圖 mysql 由以下幾部分組成 1 connectors 不同語言中與 sql 的互動 show variables like connection variable name value character set connection utf8 collation c...
簡述mysql體系結構 MySQL體系結構
一 mysql登入方式 一 tcp ip方式 遠端 本地 mysql uroot poldboy123 h 10.0.0.51 p3306 二 socket方式 mysql uroot poldboy123 s tmp mysql.sock 二 例項介紹 例項 mysqld後台守護程序 主線程 ma...
MySQL體系結構
了解mysql必須牢牢記住其體系結構圖,mysql是由sql介面,解析器,優化器,快取,儲存引擎組成的 1 connectors指的是不同語言中與sql的互動 2 management serveices utilities 系統管理和控制工具 3 connection pool 連線池。管理緩衝使...