啟動MySQL
1、初始化模塊執行&&存儲引擎初期化執行
2、1中執行完成後 ---->連接管理模塊接手
3、連接管理模塊啟動處理客戶端連接請求的監聽程序(tcp/ip 網絡監聽、unix 的socket)
4、啟動完成、准備接收請求
客戶端連接
5、監聽到客戶端的連接請求(運用網絡交互模塊中相關功能)---->通過Client & Server 交互協議模塊協議----通訊匹配---->
6、連接管理模塊----請求轉發---->線程管理模塊----控制轉交---->連接線程模塊
7、連接線程模塊----調用---->用戶模塊進行授權檢查----通過---->線程池請求線程
不通過---->返回
請求query
8、開啟日志的情況下,日志會同步產生
query類型請求(調用Parser(Query 解析和轉發模塊))---->(訪問控制模塊同步執行)
---->Query 解析器
---->(select 類型)調用查詢緩存模塊---->檢查query cache 中是否已經存在---->存在將cache 中的數據返回給連接線程模塊
不存在傳回query 解析器(Query 優化器模塊)
---->(DML 或者DDL)給表變更管理模塊
---->表維護模塊(更新統計信息、檢測、修復和整理類的query)
---->復制模塊(復制相關的query)
---->狀態收集報告模塊(請求狀態的query)
---->insert 處理器
---->delete處理器
---->update 處理器
---->create 處理器
---->alter 處理器
command類型請求---->直接執行(不需要調用Parser)
9、以上執行完成---->連接線程模塊---->返回執行結果
附上圖片: