mysql.sock是mysql服务启动是生成的
1. 如果未生成 tmp 文件夹
重新给文件赋权,如果已经赋权可以忽略
chmod -R 755 file //这里的file是mysql的安装文件夹
或者
useradd -r mysql //创建mysql系统用户和用户组
chown mysql:mysql -R file //给与mysql file的权限
其次是配置文件: 在mysqld下添加socket的生成目录,如果不添加默认会在根目录的/tmp文件夹下生成
[mysqld]
...
socket=/usr/local/mysql/tmp/mysql.sock
...
2. 如果文件夹下有生成mysql.sock,还是报Can't connect to local MySQL server through socket '/tmp/mysql.sock' 错误
属于配置文件问题,mysqld下的socket路径和client的路径不一样
mysqld下的socket路径是生成路径
client的路径是读取路径,如果没有声明路径,会默认到根目录下去找tmp文件夹下的mysql.sock
[mysqld]
...
socket=/usr/local/mysql/tmp/mysql.sock
...
[client]
...
socket=/usr/local/mysql/tmp/mysql.sock