mysql 启动报错问题集锦

  • Post author:
  • Post category:mysql


在启动mysql的时候,可能会遇到各种各样的问题,然而这时候还找不到错误日志,只是在屏幕上显示:

Starting MySQL. ERROR! Manager of pid-file quit without updating file.

那么我们就来看看如何解决这些问题。

在没有错误日志的情况下,很难排查错误,因此我们可以使用另一种方式来使其生成错误信息:

/usr/local/mysql/bin/mysqld 或者 /usr/local/mysql/bin/mysqld_safe

这样就显示会在数据目录下生成一个.rr的文件,这里面就包含我们遇到的错误信息。

那么错误有哪些呢,笔者归类了一下这几天实验中遇到的,与大家分享:


1、/usr/local/mysql/bin/mysqld: File ‘./mysql-bin.index’ not found (Errcode: 13)



关于这个错误,其实就是权限的问题,我们知道,mysql是不方便直接用root用户来启动的(当然啦,如

果你非要用的话也可以,但是不安全,这里不加赘述),因此我们需要创建一个叫mysql的用户,然后把


安装目录和数据目录的所属主和所属组全部改成mysql

,这样就解决了上面的错误。但是注意,如果在启

动过程还是不顺利,遇到其它各种错误的话,这两个目录的权限可能又会发生更改,所以我们可能要再

次去修改权限。




2、mysqld: Table ‘mysql.plugin’ doesn’t exist





如果日志里出现这样的错误,说明我们需要重新初始化一下数据库,如果没有初始化数据库的话,就不



能生成守护进程。






初始化数据库命令:

/usr/local/mysql/scripts/mysql_install_db –user=mysql basedir=/usr/local/mysql datadir=/data/mysql

注意,这里进行初始化的时候一定加上安装目录和数据目录的路径,因为这样的错误提示是说启动的时

候找不到内置数据库,而指定数据库目录之后再次进行初始化就可以解决这个问题了。


3、ERROR: 1136  Column count doesn’t match value count at row 1





这是因为写的SQL语句里列的数目和后面的值的数目不一致,比如我们插入数据操作:insert into 表名



(field1,field2,field3) values(‘a’,’b’)这样前面的是三列,后面却只有二个值,这就会出现这个



错误。







但是这个错误与启动mysql服务貌似并不影响,如果重新安装后启动不了,出现这个错误的话,说明原有



的安装信息没有删除干净。






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


[ERROR] /usr/local/mysql/bin/mysqld: unknown variable ‘performance_schema=0’





如果遇到了这个错误,说明安装的mysql不支持,或者没有innodb引擎,但是配置文件/etc/my.cnf中是



使用innodb来工作的,这就出现了错误。






解决方法:

a、更改配置文件,将与innodb有关的配置信息删除

b、动态加载innodb引擎:

先修改配置文件使mysql可以正常启动,删除数据目录下的ibdata1,ib_datafile0,ib_datafile1文件,

启动服务之后登录到mysql中,使用命令 INSTALL PLUGIN InnoDB SONAME ‘ha_innodb_plugin.so’; 这

样就可以成功加载innodb引擎了(一定要先删除数据目录的那几个文件,不然加载innodb会出错)。


5、’–skip-locking’ is deprecated and will be removed in a future release. Please use ‘–


skip-external-locking’ instead.


遇到这个错误,我们将配置文件/etc/my.cnf中的skip-locking字段改为skip-external-locking字段即


可解决。









转载于:https://blog.51cto.com/raffaelexr/1769375


关闭菜单