Unknown table engine 'InnoDB'

起因: service mysql restart

然后发现不能登录后台,进 phpmyadmin,看所有的 InnoDB 都显示 “在使用中”

发展:没有仔细分析 /var/lib/mysql 下面的 err 文件,就先重启了服务器,还是不行。然后 df -h 查看 发现 /tmp 目录大小为 1.5G, tmp目录在单独的一个分区,5G。 认为是 tmp 分区太小了,于是 在 虚拟机控制面板,没有关掉虚拟机的情况下,强行点 把分区resize到 15G,但是点了resize后,又觉的不妥,于是关掉操作窗口,先关闭虚拟机,在resize,显示resize成功。重启虚拟机后,df 显示 tmp 使用率 100%

因为面板在 resize的时候,不知道磁盘的文件格式。 于是想重新格式化。 失败,于是在 面板把这个分区删掉了,新建了一个15G的分区。启动后,连接SSH失败, 在母机 xm console 可以进入,提示进入维护模式。

原因:/etc/fstab 文件里使用  UUID=885321ef-3bb9-40cb-ad85-e728cf68993d /tmp 指定了 /tmp 挂载位置,现在删掉了,系统找不到,出现严重错误,只有进入维护模式了。

vi /etc/fstab  提示只读,无法修改/etc/fstab,执行 #mount -n -o remount,rw /  

然后使用 /dev/sdb   /tmp  这样的挂载方式,保存。重启,df 看不到 tmp, 于是 blkid 查看 UUID, 修改 /etc/fstab 使用 UUID 方式来挂载 tmp,保存,重启。可以看到了。

但是仍然显示 Unknown table engine 'InnoDB'

查看 /var/lib/mysql 下面的 err 文件  tail -f  xxx.err

提示错误: /usr/sbin/mysqld: Can't create/write to file '/tmp/ibLPHrBK' (Errcode: 13)


dir /  发现 /tmp 目前属性不是777,于是 chmod 0777 /tmp

再次重启mysql,这次 InnoDB 正常了。

期间查了很多资料,都tmd的狗屎,没有实战的,用着用着,重启后出现的错误,怎么可能是 InnoDB 没有安装?


首先要看 tmp 文件夹的问题,然后就是 看 /etc/my.cnf 是否添加了 innodb_log_file_size=  参数,这个值小于实际的 /var/lib/mysql/ib_logfile0  文件大小。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值