在mysql中,2022錯誤指的是編譯的時候沒有指定socket,所以mysql指令連接的時候還是使用的預設值,因為socket位置變了,而mysql指令不知道,所以就出現了這樣的錯誤,可以修改「/etc/my.cnf」檔案來解決該錯誤。
本教學操作環境:windows10系統、mysql8.0.22版本、Dell G3電腦。
首先重現問題現象,錯誤提示如下:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
錯誤分析,官網大致意思是說編譯的時候沒有指定socket,所以mysql 指令連線的時候還是使用的預設值(/tmp/mysql.sock),因為socket位置變了,而mysql 指令不知道,所以就出現了這樣的錯誤
解決辦法,告訴mysql 指令,我們的socket檔案在什麼地方。修改/etc/my.cnf 檔案新增以下內容:
[mysqld] socket=/data/mysql5.7.24/db_test/mysql.sock [client] socket=/data/mysql5.7.24/db_test/mysql.sock
#已儲存後測試是否能正常登陸
mysql -uroot -p
另一個解決辦法就是在登陸的時候指定socket。
第一種寫法
mysql -uroot -p --socket=/data/mysql5.7.24/db_test/mysql.sock
第二種寫法
mysql -uroot -p -S /data/mysql5.7.24/db_test/mysql.sock
#推薦學習:mysql影片教學
#以上是mysql的2002錯誤是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!