zoukankan      html  css  js  c++  java
  • Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist

    今天在用一键安装mysql的shell脚本安装mysql-5.1.73软件后发现mysql始终无法启动,多次执行后依旧报错,只能去查看error日志,发现了如下的2个错误:

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

    错误二:InnoDB: Error: combined size of log files must be < 4 G

    很明显,错误一表示有系统表缺失,错误二表示redo log总大小超4GB啦。

    经查询https://bugs.mysql.com发现这是个BUG,而stackoverflow上的答复大致是:

    删除mysql安装的相关文件如:/etc/my.cnf,/usr/bin/mysql,/var/lib/mysql以及$datadir文件夹等,然后重启服务器,再次安装即可。

    链接在此:https://stackoverflow.com/questions/9083408/fatal-error-cant-open-and-lock-privilege-tables-table-mysql-host-doesnt-ex

    照做后安装成功,检查自己的安装脚本发现并无删除$datadir文件夹的命令。

    猜测是因为第一次wget下载的安装包由于网络原因出了点小意外,导致第一次生成的data文件下的系统表空间里缺了mysql.host表,从而出现了启动失败的错误。

    而错误二则是个伴生错误,data文件下的ib_logfile未被删除,导致二次安装想生成logfile时发现总容量超过了4GB(此限制在5.6.2之后被修改为512GB)。

    最后完善了下安装脚本,加入删除data文件的命令。

  • 相关阅读:
    微服务-01
    Java 类加载机制
    数据库&缓存
    JVM&GC
    MyBatis
    spring
    mysql技术内幕-读书笔记
    mysql CookBook -读书笔记
    从根上理解mysql-读书笔记
    高性能mysql-读书笔记
  • 原文地址:https://www.cnblogs.com/leohahah/p/8178403.html
Copyright © 2011-2022 走看看