程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> 保護或更改套接字文件 /tmp/mysql.sock

保護或更改套接字文件 /tmp/mysql.sock

編輯:關於MYSQL數據庫

對於服務器用來與本地客戶端進行通信的Unix套接字文件,其默認位置是/tmp/MySQL.sock。這有可能導致問題,原因在於,在某些版本的Unix上,任何人都能刪除/tmp目錄下的文件。

在大多數Unix版本中,可對/tmp目錄進行保護,使得文件只能被其所有這或超級用戶(根用戶)刪除。為此,以根用戶身份登錄,並使用下述命令在/tmp目錄上設置粘著位:

shell> chmod +t /tmp

通過執行ls -ld /tmp,可檢查是否設置了粘著位。如果最後一個許可字符是“t”,表明設置了粘著位。

另一種方法是改變服務器創建Unix套接字文件的位置。如果進行了這類操作,還應讓客戶端程序知道文件的位置。能夠以多種不同方式指定文件位置:

在全局或局部選項文件中指定路徑。例如,將下述行置於文件/etc/my.cnf中:

[MySQLd]
socket=/path/to/socket 
[clIEnt]
socket=/path/to/socket

在運行客戶端程序時,在命令行上為MySQLd_safe指定“--socket”選項。

將MySQL_UNIX_PORT環境變量設置為Unix套接字文件的路徑。

重新從源碼編譯MySQL,以使用不同的默認Unix套接字文件位置。運行configure時,用“--with-unix-socket-path”選項定義文件路徑。

用下述命令連接服務器,能夠測試新的套接字位置是否工作:

shell> MySQLadmin --socket=/path/to/socket version
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved