客戶端通過unix socket方式連線MySQL

2021-05-01 07:41:23 字數 921 閱讀 9729

我的系統是ubuntu 8.10 desktop x86版,使用apt-get安裝mysql服務端,配置檔案路徑:/etc/mysql/my.inf

1.檢視mysql server的配置檔案

27 [mysqld_safe]

28 socket          = /var/run/mysqld/mysqld.sock

29 nice            = 0

可以看到unix_socket路徑是 /var/run/mysqld/mysqld.sock

2.填寫客戶端連線函式引數

函式原型:mysql *mysql_real_connect(mysql *mysql, const char *host, const char *user,

const char *passwd, const char *db, unsigned int port, const char *unix_socket,

unsigned long client_flag)

mysql_real_connect(&mysql, null, "root", "123456;", "mysql", 0, "/var/run/mysqld/mysqld.sock", 0)

重點解釋一下:

第二個引數host,要麼寫成"localhost",要麼寫成null,但是絕對不能寫成ip位址,如果寫成ip位址,連線方式會選擇tcp/ip,而不是unix_socket;

第七個引數unix_socket,必須寫成mysql server配置檔案中的那個路徑。

最後的建議:

如果程式和mysql伺服器不在同一臺電腦上,是無法使用unix_socket連線方式的,所以必須位於同一臺主機。對於位於同一臺主機上,而使用api進行開發的專案,強烈建議使用unix_socket連線方式,而不要使用tcp/ip方式,因為前者的效率更高!

瘦客戶端 胖客戶端 智慧型客戶端

胖客戶端模式將應用程式處理分成了兩部分 由使用者的桌面計算機執行的處理和最適合乙個集中的伺服器執行的處理。乙個典型的胖客戶端包含乙個或多個在使用者的pc上執行的應用程式,使用者可以檢視並運算元據 處理一些或所有的業務規則 同時提供乙個豐富的使用者介面做出響應。伺服器負責管理對資料的訪問並負責執行一些...

胖客戶端 瘦客戶端和富客戶端

以c s結構開發的網路應用程式,需要為客戶端開發專用的客戶端軟體,相對而言其客戶端比較龐大,在客戶端可以實現很多功能,分擔伺服器的負擔,屬於胖客戶端型別。以b s結構開發的web應用,其客戶端只是乙個瀏覽器,所有業務邏輯由伺服器端進行處理,相對而言客戶端比較瘦小,故稱為瘦客戶端。目前比較流行的一種開...

非同步客戶端和同步客戶端

先寫下我的理解,方便後邊閱讀資料校驗。一 同步客戶端 比如乙個連線有兩個請求,請求1 和 請求2,請求1 先發起請求,請求2後發起請求,則請求2 要等待請求1 響應完成才能接收到響應。舉個棗子,httpclient 傳送get請求,執行緒會一致阻塞,直到有響應結果。二 非同步客戶端 比如乙個連線有兩...