出现这种问题需要按照以下步骤分析:

  1. ps -ef|grep mysqld 查看服务器是否之前已经运行一个mysqld服务,如果有使用“kill -9  进程号”杀死,然后重新启动mysqld!

  2. mysql在启动时没有指定配置文件时会使用/etc/my.cnf配置文件,请打开这个文件查看在[mysqld]节下有没有指定数据目录(datadir)。

  3. 解决方法:请在[mysqld]下设置这一行:datadir = /usr/local/mysql/data

  4. 查看mysqld配置文件中所指定的data、log目录以及mydqld.pid和mysql.sock文件所属用户和组是否是mysql,如果不是需要重新设置所属用户和组。

  5. selinux惹的祸,如果是centos系统,默认会开启selinux

    解决方法:关闭它,打开/etc/selinux/config,把SELINUX=enforcing改为SELINUX=disabled后存盘退出重启机器试试。