在Ubuntu20.04安装Mysql并启动Mysql服务后,通过mysql -u root -p 进入数据库的时候报了这个错,然后再使用安装目录下bin的mysql去启动的时候也会报这个错

首先要排查出问题的所在,我们使用排除法

给予安装目录对应的权限

chown -R mysql:mysql /you-mysql-path
chmod -R 755 /you-mysql-path

查找是否存在幽灵文件

幽灵文件:由于mysql异常停止,导致mysqk.sock没有被删除所遗留下来的问题
find / -name  mysql*.sock

如果找到了文件,就把文件删除,然后重启mysql服务

确认socket文件写入路径是否有写入的权限

我们之前把安装目录是给予了mysql用户权限,所以可能对系统的运行相关文件没有写入权限,这种情况一般把配置文件的socket的文件地址修改为普通用户都能访问的路径即可
# my.cnf
[mysqld]
...
#其他配置
#socket = /tmp/mysql.sock
# 修改为普通用户能访问的路径
socket = /data/mysql/mysql.sock

一般来说,正常安装步骤后出现这种问题,很多都是socket的文件路径没有写入权限导致的或者是之前服务异常停止,存在遗留文件。

最后修改:2024 年 03 月 18 日
千圣皆过影,良知乃吾师