1. 程式人生 > 資料庫 >MySQL(InnoDB剖析):03---MySQL的連線與通訊方式(程序間通訊(管道、套接字、UNIX域套接字))

MySQL(InnoDB剖析):03---MySQL的連線與通訊方式(程序間通訊(管道、套接字、UNIX域套接字))

一、MySQL的連線與通訊方式

  • 連線MySQL操作時一個連線程序和MySQL資料庫例項進行通訊的過程
  • 通訊的本質是程序的通訊
  • 程序間通訊的方式有:管道、命名管道、共享記憶體、TCP/IP套接字、UNIX域套接字等

二、TCP/IP套接字的連線

  • 不同的機器之間,客戶端可以通過mysql命令來連線MySQL服務端,此時使用到的是TCP/IP套接字

三、命名管道和共享記憶體

命名管道

  • 在Windows 2000、Windows XP、Windows 2003和Windows Vista以及在此之上的平臺上,如果兩個需要程序通訊的程序在同一臺伺服器上,那麼可以使用命名管道,Microsoft SQL Server資料庫預設安裝後的本地連線也是使用命名管道
  • 在MySQL資料庫中必須在配置檔案中啟用--enable-named-pipe選項

共享記憶體

  • 在MySQL 4.1之後的版本中,MySQL還提供了共享記憶體的連線方式,這是通過在配置檔案中新增--shared-memory實現的
  • 如果想要使用共享記憶體的方式,在連線時,MySQL客戶端還必須使用--protocol=memory選項

四、UNIX域套接字

  • UNIX域套接字只能在一臺機器上使用
  • 使用者可以在配置檔案中指定套接字檔案的路徑,如--socket=/tmp/mysql.sock

演示案例

  • 檢視UNIX域套接字檔案所在的位置

  • 退出資料庫,然後使用域套接字的方式連線資料庫(使用域套接字連線時需要用-S選項提供UNIX域套接字檔名,-u選項提供使用者名稱,-p選項提供使用者密碼,-p選項我用馬賽克遮住了)