权限问题,/var/lib/mysql的权限不允许mysql服务访问,
chown -R mysql:mysql /var/lib/mysql
然后以mysql用户启动数据库。

解决方案 »

  1.   

    chown -R mysql:mysql /var/lib/mysql后仍然不行,同样的错误。进程中有个mysqld-max,该怎么办呢?应该是占用3306端口了
      

  2.   

    你安装了多个mysql吗?如果是,建议使用mysql自带的mysqld_multi工具,给不同的mysql分配不同的端口和套接字。
      

  3.   

    我也不知道那机子装了几个mysqlmysqld-max一直在运行出现ERROR: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'后,我执行service mysqld start提示unrecognized service,执行/etc/rc.d/init.d/mysqld start没有任何反应和提示
      

  4.   

    应该是mysqld-max占用了3306端口我该怎么为mysqld指定3307端口呢?
      

  5.   

    配置文件中修改
    socket=/tmp/mysql2.sock
    port=3307
      

  6.   

    不过你的问题应该还是权限问题,不行rebot linux试试。
      

  7.   

    我试试谢谢mathematician(数学家)!
      

  8.   

    执行chown -R mysql:mysql /var/lib/mysql确实不行,还是socket错误的提示在我的/tmp下没有mysql2.sock这个文件在/etc/my.cnf中,没有看到port选项,需要我自己创建吗,逐渐到哪一节呢,[mysqld]下?但有一个master-port=3306,而且被注释了(文件中为#master-port=3306,在[mysqld]下)
      

  9.   

    mysql.sock的位置一般在/tmp/mysql.sock或/var/lib/mysql/mysql.sock,你在my.cnf中指定sock文件具体位置和使用端口就行,放在[mysqld]下。
      

  10.   

    kill -9 mysql_PID后,重启mysqld服务,解决系统中mysql安装的是mysql-max
    不知为什么service mysqld start后没有OK的提示 但确实成功