在mysql中,2022错误指的是编译的时候没有指定socket,所以mysql命令连接的时候还是使用的默认值,因为socket位置变了,而mysql命令不知道,所以就出现了这样的错误,可以修改“/etc/my.cnf”文件来解决该错误。
千万级数据并发如何处理?进入学习
本教程操作环境:windows10系统、mysql8.0.22版本、Dell G3电脑。
mysql的2002错误是什么
首先重现问题现象,报错提示如下:
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视频教程