錯誤信息:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
出現問題原因:
有可能是 my.cnf 配置文件中設置了 [mysqld] 的參數 socket ,而沒有設置[client]的參數socket
mysql.sock 文件有什么用:
mysql 支持 socket 和 TCP/IP 連接。那么 mysql.sock 這個文件有什么用呢?連接localhost通常通過一個Unix域套接字文件進行,一般是/tmp/mysql.sock。如果套接字文件被刪除了,本地客戶就不能連接。/tmp 文件夾屬于臨時文件,隨時可能被刪除。
1.TCP 連接(如果報錯 /tmp/mysql.sock,你可以嘗試這種方式連接)
mysql -uroot -h 127.0.0.1 -p
2.socket 連接
mysql -uroot -p
解決方式:
添加 [client] 配置項,如下所示
配置前:(配置 [client] 前,會報錯'/tmp/mysql.sock' (2))
[mysqld]
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
配置后:(配置 [client] 后,重啟 mysql服務)
[mysqld]
datadir=/usr/local/mysql/data
basedir=/usr/local/mysql
socket=/var/lib/mysql/mysql.sock(跟這個socket路徑一樣)
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[client]
port=3306
socket=/var/lib/mysql/mysql.sock
end,本文結束,希望對大家有所幫助!
您可能感興趣的文章: 關于MySQL繞過授予information_schema中對象時報ERROR 1044(4200)錯誤 mysql數據庫mysql: [ERROR] unknown option ''--skip-grant-tables'' 解決Navicat遠程連接MySQL出現 10060 unknow error的方法 ubuntu18.0.4安裝mysql并解決ERROR 1698 (28000): Access denied for user ''''root''''@''''localhost'''' MySQL服務器登陸故障ERROR 1820 (HY000)的解決方法 解決MySQL啟動報錯:ERROR 2003 (HY000): Can''t connect to MySQL server on ''localhost'' (10061)