前言
之前對(duì)MySQL的認(rèn)知只限于會(huì)寫些SQL卿拴,本篇開始進(jìn)行對(duì)MySQL進(jìn)行深入的學(xué)習(xí)蹈矮,記錄和整理下自己對(duì)MySQL不熟悉的地方揪漩。如果有需要可以關(guān)注我的專欄一起學(xué)習(xí)技俐,共同進(jìn)步乘陪!關(guān)于mysql的安裝就不說了,直接從mysql的客戶端/服務(wù)器運(yùn)行架構(gòu)開始學(xué)習(xí)雕擂。Let′s go~
MySQL客戶端/服務(wù)器架構(gòu)
MySQL其實(shí)跟我們平時(shí)使用的程序一樣啡邑,是由兩部分組成的,一部分是客戶端程序井赌,一部分是服務(wù)器程序谤逼。
- MySQL服務(wù)器程序直接和我們存儲(chǔ)的數(shù)據(jù)打交道贵扰,客戶端啊連接服務(wù)器,發(fā)送增刪改查的請(qǐng)求流部,服務(wù)器操作維護(hù)的數(shù)據(jù)響應(yīng)請(qǐng)求戚绕。MySQL服務(wù)器程序的進(jìn)程也被稱為MySQL數(shù)據(jù)庫(kù)實(shí)例。
- MySQL客戶端都需要用戶名和密碼才能登錄枝冀,登錄之后才能給服務(wù)器發(fā)送請(qǐng)求來操作某些數(shù)據(jù)舞丛。
我們?nèi)粘J褂肕ySQL的情景一般是這樣的
- 啟動(dòng)MySQL服務(wù)器程序。
- 啟動(dòng)MySQL客戶端程序并連接到服務(wù)器程序果漾。
- 在客戶端程序中輸入一些sql命令語句作為請(qǐng)求發(fā)送到服務(wù)器程序球切,服務(wù)器程序收到這些請(qǐng)求后,會(huì)根據(jù)請(qǐng)求的內(nèi)容來操作具體的數(shù)據(jù)并向客戶端返回操作結(jié)果跨晴。
MySQL客戶端連接服務(wù)器
在成功啟動(dòng)MySQL服務(wù)器程序后欧聘,就可以啟動(dòng)客戶端程序來連接到這個(gè)服務(wù)器了。我們可以通過mysql可執(zhí)行文件與服務(wù)器程序交互端盆,進(jìn)行發(fā)送請(qǐng)求并接收服務(wù)器的處理結(jié)果怀骤。啟動(dòng)格式如下:
mysql -h主機(jī)名 -u用戶名 -p密碼
示例:
mysql -hlocalhost -uroot -p123456
出現(xiàn)如下界面就表示連接成功了。
注意事項(xiàng):最好不要在一行命令中輸入密碼焕妙,我們直接輸入的是明文可能會(huì)被同一臺(tái)機(jī)器上的其他用戶看到蒋伦,我們可以通過如下命令分為兩步進(jìn)行操作
mysql -hlocalhost -uroot -p
按回車之后才會(huì)提示輸入密碼。
客戶端與服務(wù)器連接的過程
運(yùn)行著的服務(wù)器程序和客戶端程序本質(zhì)上都是計(jì)算機(jī)上的一個(gè)進(jìn)程焚鹊,所以客戶端進(jìn)程向服務(wù)器進(jìn)程發(fā)送請(qǐng)求并得到響應(yīng)的過程本質(zhì)上是一個(gè)進(jìn)程間通信的過程痕届。MySQL支持三種客戶端進(jìn)程和服務(wù)器進(jìn)程的通信方式:
TCP/IP
真實(shí)環(huán)境中,數(shù)據(jù)庫(kù)服務(wù)器進(jìn)程和客戶端進(jìn)程可能運(yùn)行在不同的主機(jī)中末患,它們之間必須通過網(wǎng)絡(luò)來進(jìn)行通信研叫。MySQL采用TCP作為服務(wù)器和客戶端之間的網(wǎng)絡(luò)通信協(xié)議。我們可以通過IP地址 + 端口號(hào)的方式來與這個(gè)進(jìn)程連接璧针,命令行中添加-P(大寫P)參數(shù)來指定端口號(hào)嚷炉,格式如下:
mysql -hlocalhost -P3306 -uroot -p123456
MySQL服務(wù)器默認(rèn)監(jiān)聽3306端口;
命名管道和共享內(nèi)存
這種通信方式是windows操作系統(tǒng)中的兩種進(jìn)程間通信方式探橱;如果沒聽說或可以忽略申屹,不重要。
Unix域套接字文件
這種方式要求客戶端和服務(wù)器運(yùn)行在同一臺(tái)類Unix的操作系統(tǒng)上隧膏;
小結(jié)
MySQL采用客戶端/服務(wù)器架構(gòu)哗讥,用戶通過客戶端程序發(fā)送增刪改查需求,服務(wù)器程序收到請(qǐng)求后處理胞枕,并且把處理結(jié)果返回給客戶端杆煞。
MySQL客戶端可以通過TCP/IP、命名管道和共享內(nèi)存、Unix域套接字文件三種方式進(jìn)行連接MySQL服務(wù)器索绪,主要掌握TCP/IP的方式就可以湖员。