MySQL启动失败 找不到原因 后来查询

/var/lib/mysql目录下的localhost.localdomain.err文件

出现错误是

[root@localhost local]# service mysql start
160704 15:57:28 [ERROR] /usr/sbin/mysqld: Can't find file: './mysql/host.frm' (errno: 13)
160704 15:57:28 [ERROR] Fatal error: Can't open and lock privilege tables: Can't find file: './mysql/host.frm' (errno: 13)
160704 15:57:28 mysqld_safe mysqld from pid file /var/lib/mysql/localhost.localdomain.pid ended


后经在/etc/my.cnf文件中datadir目录权限是否正确

MySQL启动不成功_IT

于是修改了权限,就可以成功启动

[root@localhost local]# service mysql start
Starting MySQL..                                           [确定]


第二:

http://www.linuxidc.com/Linux/2013-03/81340.htm


第三:

非正常关闭mysql,同时更改了my.cnf 导致启动时不支持innodb,出现如下错误:


[ERROR] Plugin ‘InnoDB’ init function returned error.


[ERROR] Plugin ‘InnoDB’ registration as a STORAGE ENGINE failed.


[ERROR] Unknown/unsupported table type: InnoDB


[ERROR] Aborting


解决办法:


删除log(/var/lib/mysql/ibdata1)文件和data(/var/lib/mysql/ib_logfile0或ib_logfile1)的初始化文件  


重新运行mysql_install_db


再启动


第四:

mysql报错Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist


今天在安装mysql后,启动时候没有启动成功,查看了下日志报错如下:

---------------------------------------------

[root@localhost local]# less /var/log/mysqld.log

1、查看报错信息如下:

[ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist


2、经过查阅资料得知。要敲如下命令解决:
mysql_install_db –usrer=mysql datadir=/var/lib/mysql

datadir是我的mysql存放文件目录


3、然后重启mysql还是不行:
MySQL Daemon failed to start.

正在启动 mysqld:                                          [失败]


4、然后试了下单独的命令,启动完成

mysql_install_db


5、启动mysql服务
[root@mysql mysqld]# /etc/init.d/mysqld restart
停止 mysqld:                                              [确定]
正在启动 mysqld:                                          [确定]