首先默认已经查看过mysql服务器是否正常运行,和权限设置的问题。
2002报错大意是找不到对应文件,不能通过这个socket连接到本地mysql。
网上大多教程多说手动修改/etc/my.cnf
文件
有可能还没这个文件,那就手动创建一个,添加以下内容
[mysqld]
datadir=/usr/local/mysql/data
socket=/var/lib/mysql/mysql.sock
[mysql.server]
user=mysql
basedir=/usr/local/mysql
[client]
socket=/var/lib/mysql/mysql.sock
然而service mysql restart
后还是不会自动生成mysql.sock文件,依旧报错,不过这给了我启发,难道自动生成的不一定在这?
使用find命令
找找
find / -name *mysql*sock*
果然,找到了一个很像的文件mysqld.sock
凭借之前安装mysql要解决中文乱码问题的记忆,似乎看到过mysqld.sock
这家伙。
查看mysql的基本配置信息
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
可以看到默认的socket对应 /var/run/mysqld/mysqld.sock
所以照这修改上面第一版的/etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
basedir=/usr
socket=/var/run/mysqld/mysqld.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]
port=3306
socket=/var/run/mysqld/mysqld.sock
重新链接mysql,大功告成!