在mysql中,2022錯(cuò)誤指的是編譯的時(shí)候沒(méi)有指定socket,所以mysql命令連接的時(shí)候還是使用的默認(rèn)值,因?yàn)閟ocket位置變了,而mysql命令不知道,所以就出現(xiàn)了這樣的錯(cuò)誤,可以修改“/etc/my.cnf”文件來(lái)解決該錯(cuò)誤。
千萬(wàn)級(jí)數(shù)據(jù)并發(fā)如何處理?進(jìn)入學(xué)習(xí)
本教程操作環(huán)境:windows10系統(tǒng)、mysql8.0.22版本、Dell G3電腦。
mysql的2002錯(cuò)誤是什么
首先重現(xiàn)問(wèn)題現(xiàn)象,報(bào)錯(cuò)提示如下:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
報(bào)錯(cuò)分析,官網(wǎng)大致意思是說(shuō)編譯的時(shí)候沒(méi)有指定socket,所以mysql 命令連接的時(shí)候還是使用的默認(rèn)值(/tmp/mysql.sock),因?yàn)閟ocket位置變了,而mysql 命令不知道,所以就出現(xiàn)了這樣的錯(cuò)誤
解決辦法,告訴mysql 命令,我們的socket文件在什么地方。修改/etc/my.cnf 文件添加如下內(nèi)容:
[mysqld] socket=/data/mysql5.7.24/db_test/mysql.sock [client] socket=/data/mysql5.7.24/db_test/mysql.sock
保存后測(cè)試是否能正常登陸
mysql -uroot -p
另一種解決辦法就是在登陸的時(shí)候指定socket。
第一種寫(xiě)法
mysql -uroot -p --socket=/data/mysql5.7.24/db_test/mysql.sock
第二種寫(xiě)法
mysql -uroot -p -S /data/mysql5.7.24/db_test/mysql.sock
推薦學(xué)習(xí):mysql視頻教程