淺析mysql-server 與 mysql-client 的區別

老大留的作業是:在docker中用mysql容器啓動兩個服務實例:mysql-server,且他們的數據互通,再啓動一個mysql-client。

琢磨了好一陣子啥叫server啥叫client,越琢磨越懵,還不敢問,自己百度/谷歌得一塌糊塗...

只好去問班級裏的大腿,大腿昨晚上給講了一下,現在大概有個概念了...

整理一下寫出來,加深自己的記憶,順便,萬一有人和我有一樣的疑惑不也就明白了呢~是吧~(*^▽^*)


首先附一個鏈接,是講解mysql-client和server的區別的:

https://stackoverflow.com/questions/6962890/what-is-the-difference-between-mysql-server-and-mysql-client

然後說一下討論的內容和結論:

我之前疑惑的點是,都說client是要登陸(host -u -p)的,但是我在使用server時,也要登陸(-u -p)啊,所以理所當然地產生了一個想法就是,client與server的區別就是要不要連host,不連host的就是server,但是這個觀點其實不太對。

本質上的區別是:server是執行一個crud操作,client是發送一個crud操作。

server是把sql語句翻譯成對內存和文件的操作,也就是說,server是直接操作文件的。

而client是對數據庫/表進行操作,不是直接對文件進行操作。


舉個例子:

①client:我用一個Navicat去鏈接一個數據庫,這個Navicat就是client。

②server:我有多個mysql服務實例,他們可以位於不同的端口(這句不重要),但是他們是掛載在了宿主機同一個目錄下的(這句重要,對內存/文件進行操作了),而且數據共享(這句也不重要)。


小知識點:

①sql只是去知道server如何去操作數據。

②即使C/S在同一臺機器上,他們也是通過網絡通訊的。


加油ヾ(◍°∇°◍)ノ゙

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章