1. 程式人生 > >MySQL客戶端/服務器架構

MySQL客戶端/服務器架構

服務器程序 roo 內存 oca txt 方式安裝 其他 localhost https

MySQL的客戶端/服務器架構

本文主要參考作者小孩子寫的MySQL小冊子,整理

MySQL的服務器程序直接和我們存儲的數據打交道,客戶端程序連接服務器,發送增刪改查的請求,服務器操作維護的數據響應請求。

MySQL服務器程序的進程也被稱為MySQL數據庫實例。我們啟動的MySQL服務器進程的默認名稱是mysqld,而常用的MySQL客戶端進程默認名稱為mysql。

安裝

不論通過哪種方式安裝,MySQL的服務器程序和客戶端都會被安裝到我們的機器上。

不過在Linux下使用RPM包時會有單獨的服務器RPM包和客戶端RPM包,需要分別安裝。

啟動服務器程序

mysqld

代表著mysql服務器程序,運行這個可執行文件就可以直接啟動一個服務器進程。

mysqld_safe

  • 是一個啟動腳本,會間接的調用mysqld。

  • 還順便啟動了另外一個監控進程,這個監控進程在服務器進程掛了的時候,可以幫助重啟它。

  • 會將服務器程序的出錯信息和其他診斷信息重定向到某個文件中,產生出錯日誌。

mysql.server

也是一個啟動腳本,會間接的調用mysqld_safe,使用時跟上start/stop參數就OK。

不過這個文件其實是一個鏈接文件,實際文件是../support-files/mysql.server.

mysqld_multi

一臺計算機上可以運行多個MySQL服務器進程,這個可執行文件可以對每一個服務器進程的啟動或停止進行監控。

啟動客戶端程序

格式:

mysql -h主機名 -u用戶名 -p密碼

小貼士: 像 h、u、p 這樣名稱只有一個英文字母的參數稱為短形式的參數,使用時前邊需要加單短劃線,像 host、user、password 這樣大於一個英文字母的參數稱為長形式的參數,使用時前邊需要加雙短劃線。

客戶端與服務器連接的過程

本質上進程間通信的過程,MySQL支持以下的通信方式

TCP/IP

MySQL服務器默認監聽3306端口。

命名管道和共享內存

這種通信方式是windows操作系統中的

Unix域套接字文件

這種方式要求客戶端和服務器運行在同一臺類Unix的操作系統上。
MySQL服務器程序默認監聽的套接字文件路徑是/tmp/mysql.sock

,客戶端也默認監聽這個文件。

改變文件:

# 服務器改變套接字文件
mysqld --socket=/tmp/a.txt
# 客戶端改變
mysql -hlocalhost -uroot --socket=/tmp/a.txt -p

架構

技術分享圖片

-------------分割線,未完待續

參考

本文主要參考小孩子寫的《MySQL是怎樣運行的:從根兒上理解MySQL》
想學習的同學可以通過以下方式購買,絕對超值!

技術分享圖片

MySQL客戶端/服務器架構