zimbra服务器故障导致mysql开启失败怎么办?-创新互联

记一次zimbra服务器故障导致mysql起不来问题
服务器有一天突然访问不了,局域网连接不上,去机房查看,硬盘灯亮着,屏黑的,按电源键没法关机,没办法,只能强制关机了。强制关机后,启动起来,登陆进去看。
zmcontrol status过了好久才出现内容,提示如下:
Unable to determine enabled services from ldap.
Unable to determine enabled services. Cache is out of date or doesn't exist.
经网上查找解决方法:
zmcontrol stop
再zmcontrol start
启动的时候就报错了,好几个服务启动不起来
我就单独一个服务一个服务启动
看启动提示都是提示mysql.service这个服务启动不了
于是我去后台查看mysql报错日志
查看 /opt/zimbra/log/mysql_error.log
发现很多类似出错提示:
Failed to find tablespace for table '"mboxgroup99"."tag"' in the cache. Attempting to load the tablespace with space id 6420
网上查了一下应该是Mysql表空间遭到破坏(应该是强制关机引起的)
于是我就想是否可以通过还原mysql数据库来恢复表空间,因为系统每天有自动备份mysql数据库
但是还原的时候又提示我以下信息:
Table 'xxx' is read only,表只读,网上查了修改目录底下文件夹和文件的权限,可是这些权限本来就没有改,就不需要更改了
网上又找方法,发现可以修改my.cnf配置文件让他强制启动
/opt/zimbra/conf/my.cnf
在[mysqld]添加:
#innodb_force_recovery = 6
#innodb_purge_threads = 1
然后重启mysql.service服务
这回zmcontrol查看各个服务都启动了,个别启动不了的再单独启动,等zmcontrol status查看各个服务都是running的时候再去登陆网页版发送邮件,发现只能发,不能收,还是有问题
又继续在网上查找方法,发现可以利用innochecksum这个工具修复,网上想安装这个工具麻烦,找下/opt/zimbra/common/bin底下居然有自带这个工具,于是用以下命令修复:
/opt/zimbra/common/bin/innochecksum -f /opt/zimbra/db/data/ibdata1
运行完,提示没有-f 这个选项,我就--help查看,没有查看代替-f的参数,后面干脆直接用不带参数的命令:
/opt/zimbra/common/bin/innochecksum  /opt/zimbra/db/data/ibdata1
然后把前面my.cnf里面的强制恢复选项取消掉,再zmcontrol restart重启服务,居然启动起来了,发送和接收邮件也可以,不过有个遗憾就是imap服务不能用,后续再研究
PS:zmdbintegrityreport命令也可以在数据库故障的时候用来尝试修复数据库

成都创新互联公司是一家集网站建设,花垣企业网站建设,花垣品牌网站建设,网站定制,花垣网站建设报价,网络营销,网络优化,花垣网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文名称:zimbra服务器故障导致mysql开启失败怎么办?-创新互联
地址分享:http://pwwzsj.com/article/cejdeh.html