新安装的一台Centos服务器,安装完lamp后,重启了一下系统,发现mysql启动不了并报如下的错误:


 /etc/init.d/mysqld start

Starting MySQL... ERROR! The server quit without updating PID file (/var/lib/mysql/feixiag.pid).

查看日志如下:

InnoDB: Apply batch completed

2015-03-18 17:28:05 24592 [Note] InnoDB: 128 rollback segment(s) are active.

2015-03-18 17:28:05 24592 [Note] InnoDB: Waiting for purge to start

2015-03-18 17:28:05 24592 [Note] InnoDB: 5.6.21 started; log sequence number 1600607

2015-03-18 17:28:05 24592 [Note] Server hostname (bind-address): '*'; port: 3306

2015-03-18 17:28:05 24592 [Note] IPv6 is available.

2015-03-18 17:28:05 24592 [Note]   - '::' resolves to '::';

2015-03-18 17:28:05 24592 [Note] Server socket created on IP: '::'.

2015-03-18 17:28:05 24592 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist

150318 17:28:05 mysqld_safe mysqld from pid file /var/lib/mysql/feixiag.pid ended

google,百度后,也没有找到好的方法,突然想起,我在初始化数据库的时候指定了datadir的路径为/data/mysql,而在/etc/my.cnf中的datadir没有修改指定的路径。

查看/etc/my.cnf,果然是没有更改,改为datadir=/data/mysql 后,启动成功。

注:my.conf里面的内容除需要外,其它的最好都注释掉。