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文件的命令。
最新文章
- [IOS]Swift使用SVGKit的记录
- ArcMap计算PolyLine中点VBA
- 【转载】Spark性能优化指南——高级篇
- linux中用shell获取昨天、明天或多天前的日期
- 怎么直接让火狐输入json数据,而不是弹出文件保存对话框?
- shell各种执行方式区别
- How to get the date N days ago in Python
- res://ieframe.dll/acr_error.htm 纯手动解决方法
- POJ2239_Selecting Courses(二分图最大匹配)
- Java集合源代码剖析(二)【HashMap、Hashtable】
- Struct_2路径问题
- UNIX网络编程——UDP缺乏流量控制(改进版)
- 十三、事务、连接池 、ThreadLocal 、BaseServlet自定义Servlet父类 、 DBUtils &#224; commons-dbutils
- androidstudio全局搜索快捷键Ctrl+Shift+F失效的解决办法
- linux中ls -l介绍
- Python package和module
- 使用PHP的反射Reflection获取对象信息
- 2018.11.07 NOIP模拟 异或(数位dp)
- android开发(34) 自定义 listView的分割线( 使用xml drawable画多条线)
- WebService学习总结(转)