mysql的2002错误是什么

mysql中,2022错误指的是编译的时候没有指定socket,所以mysql命令连接的时候还是使用的默认值,因为socket位置变了,而mysql命令不知道,所以就出现了这样的错误,可以修改“/etc/my.cnf”文件来解决该错误。

mysql的2002错误是什么

本教程操作环境:windows10系统、mysql8.0.22版本、Dell G3电脑。

mysql的2002错误是什么

首先重现问题现象,报错提示如下:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

33.png

报错分析,官网大致意思是说编译的时候没有指定socket,所以mysql 命令连接的时候还是使用的默认值(/tmp/mysql.sock),因为socket位置变了,而mysql 命令不知道,所以就出现了这样的错误

34.png

解决办法,告诉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

35.png

保存后测试是否能正常登陆

mysql -uroot -p

36.png

另一种解决办法就是在登陆的时候指定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错误是什么的详细内容,更多请关注其它相关文章!