zoukankan      html  css  js  c++  java
  • MySQL不能启动 Can't start server : Bind on unix socket: Permission denied

    转载博客地址:http://www.linuxidc.com/Linux/2010-04/25709.htm

    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   /tmp

  • 相关阅读:
    Python连接MySQL数据库之pymysql模块使用
    前端基础之BOM和DOM
    前端基础之JavaScript
    前端基础之CSS
    前端知识之HTML内容
    Python基础—名称空间(Day10)
    Python基础—装饰器(Day11)
    Python基础—迭代器、生成器(Day13)
    Python基础—文件操作(Day8)
    Python基础—函数(Day9)
  • 原文地址:https://www.cnblogs.com/the-study-of-linux/p/5217599.html
Copyright © 2011-2022 走看看