mysqld_safe Directory '/var/lib/mysql' for UNIX socket file don't exists.

在Linux<CentOS>服务器上安装Mysql,由于Centos自身的yum源中用Mysql的分支Mariadb代替了MySQL,所以不得不选择rpm或tar.gz包的方式安装,

但是为了以后在其他LInux如Ubuntu中也能熟练安装MySQL,所以推荐使用tar.gz,安装教程—http://blog.csdn.net/qq_32331073/article/details/76252559

运行命令:service mysqld start

出现如下错误:

Starting MySQL.Logging to '/usr/local/mysql/data/iZ2ze8hspx8qsmxx7b1i9sZ.err'.
170728 09:47:55 mysqld_safe Directory '/var/lib/mysql' for UNIX socket file don't exists.
 ERROR! The server quit without updating PID file (/usr/local/mysql/data/iZ2ze8hspx8qsmxx7b1i9sZ.pid).
随即执行命令:cat  /usr/local/mysql/data/iZ2ze8hspx8qsmxx7b1i9sZ.err查看错误原因
error内容如下:

[ERROR] Can't start server : Bind on unix socket: Permission denied
[ERROR] Do you already have another mysqld server running on socket: /var/lib/mysql/mysql.sock ?
结合先前写入配置/etc/my.cnf:

由上不难理解——

第一:

mysqld_safe Directory '/var/lib/mysql' for UNIX socket file don't exists.
    “var/lib/mysql”目录不存在,首要先创建:

   mkdir   /var/lib/mysql
第二:

     Mysql客户端和服务器端是通过初始化mysql.sock 文件来进行通信,所以服务器在启动时需要写入该文件,因此该文件所存放的目录必须双方都

具有访问权限。而异常日志中表示:

[ERROR] Can't start server : Bind on unix socket: Permission denied
     所以,MySQL服务不具备目录 /var/lib/mysql 的写入权限,无法生成mysql.sock文件,自然服务启动时无法找到该文件。

     给目录 /var/lib/mysql 付予写入权限或者最大权限—chmod 777  /var/lib/mysql

最终:

发布了51 篇原创文章 · 获赞 9 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/weixin_39891030/article/details/89330896