需求:select user,host from mysql.user;
以上面的一條命令爲例,如何將數據返回的,下面進行詳細的闡述:
總結
Client: 主要包括以下:
1. 自帶命令 mysql、mysqldump、mysqladmin
2. 第三方工具 sqlyog、navicat、workbench
3. API php-mysqli pymysql
server:主要包括以下:
1. 連接器
2. SQL層
# SQL層總結:
語法、語義(數據XX語言)、權限(grant)檢查完畢後—> 根據解析器生成解析樹—>優化器代價評估—>然後得出執行計劃—>執行器執行—>在那塊IO上處理,交給engine層。
3. 管理類工具、插件、mysqlshell(8.0以後)
engine:----> 文件系統