[ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)]
背景:
由於我新加了塊雲盤,掛載到/database下,后期mysql存儲數據用這個盤,mysql存儲文件的目錄是/var/lib/mysql,於是我把這個目錄mv到了/database/mysqldb下.由於是rpm安裝方式,初次啟動則是初始化.我在未啟動時先更改了/etc/my.cnf配置文件的路徑
[mysqld]
datadir=/database/mysqldb/mysql
socket=/database/mysqldb/mysql/mysql.sock
檢查了移動后的目錄文件的權限,再執行了一下
[root@long mysqldb]# chown -R mysql.mysql mysql/
在沒問題的情況下啟動了service mysqld start
初始化成功卻登錄不進去mysql.報錯如下:
[ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)]
解決問題:
mysql連接一般有兩種方式 TCP/IP 和socket
TCP/IP用於遠程連接 客戶端和服務端的關系
socket連接用於本地服務和數據之間的 管道連接 每次登陸數據庫刷新mysql.sock
不能通過mysql.sock連接MySQL問題 這個問題主要提示是,不能通過 ‘/tmp/mysql.sock’連到服務器,
可以通過修改/etc/my.cnf文件來修正它.
於是我在配置文件里加了這行,完美解決,路徑都是正確的.后來又在測試環境做了一遍,沒問題
[mysql]
socket=/database/mysqldb/mysql/mysql.sock