mysql.sock permission denied_MySQL不能启动 Can't start server : Bind on unix socket: Permission denied...

MySQL服务器突然不能启动,查看最后的启动日志如下:

080825 09:38:04 mysqld started

080825 9:38:04 [ERROR] Can't start server : Bind on unix socket: Permission denied

080825 9:38:04 [ERROR] Do you already have another mysqld server running on socket: /var/mysql.sock ?

080825 9:38:04 [ERROR] Aborting

080825 9:38:04 [Note] /usr/local/mysql/bin/mysqld: Shutdown complete

080825 09:38:04 mysqld ended

my.cnf 配置如下:

[mysqld]

datadir=/usr/local/mysql/data

socket=/var/mysql.sock

[mysql]

socket=/tmp/mysql.sock

[mysql.server]

user=mysql

basedir=/usr/local/mysql

[safe_mysqld]

err-log=/usr/local/mysql/mysqld.log

pid-file=/usr/local/mysql/mysqld.pid

根据日志文件显示,首先检查运行权限,再看一下/var/mysql.sock,发现/var/mysql.sock目录下并没有该文件,是否是没有权限 写/var目录?OK,那就用root用户运行一下safe_mysqld,启动正常。使用mysql连接数据库,提示错误,连接不到数据库服务器, /tmp目录下没有mysql.sock这个文件,到这里,基本清楚了Mysql客户端和服务器端在本机的通信方式了,通过一个名为mysql.sock 文件来进行初始化通信的,因此该文件所存放的目录必须双方都有权限可以访问到,而且服务器在启动时需要写该文件,如果my.cnf中这两项配置不正确,就 会出现Permission denied等类似错误。将配置文件修改如下,就没有问题了。

[mysqld]

datadir=/usr/local/mysql/data

socket=/tmp/mysql.sock

[mysql]

socket=/tmp/mysql.sock

[mysql.server]

user=mysql

basedir=/usr/local/mysql

[safe_mysqld]

err-log=/usr/local/mysql/mysqld.log

pid-file=/usr/local/mysql/mysqld.pid

如果还是不行,那就需要 chmod  777   /tmp0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值