51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 1587|回复: 1

[转载]mysql 启动报错问题集锦

[复制链接]
  • TA的每日心情
    无聊
    6 小时前
  • 签到天数: 919 天

    连续签到: 1 天

    [LV.10]测试总司令

    发表于 2016-5-4 11:11:08 | 显示全部楼层 |阅读模式

    在启动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字段即

    可解决。


    本文出自 “奇迹的少年” 博客,出处http://raffaelexr.blog.51cto.com/8555551/1769375


    回复

    使用道具 举报

    该用户从未签到

    发表于 2016-8-19 22:03:44 | 显示全部楼层
    真的谢谢了!
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-3-29 15:34 , Processed in 0.065034 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表