记一次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命令也可以在数据库故障的时候用来尝试修复数据库

原文地址:https://blog.51cto.com/riverxyz/2475591

时间: 2024-12-11 06:22:00

记一次zimbra服务器故障导致mysql起不来问题的相关文章

服务器故障导致SqlServer数据库损坏的恢复过程

故障描述: 5块2T硬盘组建RAID5,划分LUN供windows服务器使用.在windows服务器内装有Sql Server2008数据库.存储空间内共有三个逻辑分区,大小分别为500G.800G.2.3T.数据库文件丢失,主要涉及五个数据库,表个数约为6000个左右.丢失原因未知,且不能确定数据存储位置.三个数据库的大小分别为8G.15G.20G.在文件丢失后服务器仍处于开机状态,但并未写入大量数据.· 初检流程: 1.使用RAID信息及内部数据块信息重组RAID.重组RAID2.提取LUN

记一次存储故障导致数据库坏块处理过程

记一次存储故障导致数据库坏块处理过程 线上架构说明:     IBM DS4800存储一套     P560小机HA架构一套     两个数据库资源组平时run在HA架构中的任意一台中,资源组全部使用共享存储 问题描述: 由于存储在数据库运行过程中发生了异常宕机,导致两个库存在不同程度的坏块 错误信息及解决过程 数据库A: A:root:/db2dumph/istclhis > 2016-04-09-04.26.10.787138   Instance:istclhis   Node:000 P

5分钟学会处理服务器故障的方法

运维人员在处理服务器故障时,总会碰到了各种不同规模的性能很差的系统和基础设备(大型系统居多,比如CNN或者世界银行的系统).要是再赶上修复时间紧.奇葩的技术平台.缺少信息和文档等服务器故障,问题出现的原因很少可以一下就想到.下面我们基本上都会从以下步骤入手: 一.尽可能搞清楚问题的前因后果 不要一下子就扎到服务器前面,你需要先搞明白对这台服务器有多少已知的情况,还有故障的具体情况.不然你很可能就是在无的放矢. 必须搞清楚的问题有: 故障的表现是什么?无响应?报错? 故障是什么时候发现的? 故障是

CentOS服务器下对mysql的优化

原文链接: CentOS服务器下对mysql的优化 一.mysql的优化思路 mysql的优化分为两方面: 1. 服务器使用前的优化 2. 服务使用中的优化 二.mysql的基础优化步骤 1. 硬件级优化 (1). 最好mysql自己使用一台物理服务器 (2). 内存和CPU方面,根据需求给予mysql服务器足够大的内存和足够多的CPU核数 (3). 避免使用Swap交换分区–交换时从硬盘读取的它的速度很慢,有的DBA安装系统时就不装swap分区 (4). 如果是mysql主库,硬盘可以选用比较

Linux服务器 -- 故障篇

故障一. 今天早上来的第一件事,就是检查昨天晚上刚刚重新安装的一台64位的CentOS 5.5服务器,那台服务器是四块硬盘作的二个RAID1,一个专用于OS,一个用于data, 在安装系统的过程中,为了不损失数据,data分区我碰也碰过,今天用root进系统后,我用mount /dev/mapper/ddf1_datap1 /data进行挂载,很顺利的挂载上去了,结果进去用ll命令一看,我靠,文件全出错了,都不正常了,吓我一跳,data分区里有的数据很重要,特别是mysql数据库,我问了下同事,

记一次varnish异常/故障

公司一varnish集群运行很久了,一直很稳定,没发现什么问题.最近开发那边反馈新传的静态文件访问不了.出现以下错误: Error 503 Service Unavailable Guru Meditation: XID: 1267841165 cache server 5443 检查varnish启动配置, ps -ef | grep varnish usr/sbin/varnishd -P /var/run/varnish.pid -a :80 -f /etc/varnish/default

CentOS 6.5 yum安装配置lnmp服务器(Nginx+PHP+MySQL)

以下全部转载于  http://blog.csdn.net/lane_l/article/details/20235909 本人于今晚按照该文章使用centos 6.7 64bit安装成功,做个备份,就转过来了. --------------------------------------------------------------- 转载者语: 转载于:http://www.osyunwei.com/archives/2353.html 原文标题:CentOS 6.2yum安装配置lnmp

Apache服务器故障排除攻略

Apache服务器故障排除攻略 应用服务器Apache浏览器配置管理网络应用 随着网络技术的普及.应用和Web技术的不断完善,Web服务已经成为互联网上重要的服务形式之一.原有的客户端/服务器模式正在逐渐被浏览器/服务器模式所取代.本文将重点Apache 服务器的故障排除的技巧. http://www.poluoluo.com/jzxy/200809/45669.html 一.检查配置文件的错误 Apache服务器的设置文件位于/etc/httpd/conf/目录下,传统上使用三个配置文件htt

千万级记录的Discuz论坛导致MySQL CPU 100%的优化笔记

千万级记录的Discuz论坛导致MySQL CPU 100%的优化笔记 2007年3月,我写过一篇文章<解决一个 MySQL 服务器进程 CPU 占用 100%的技术笔记>( http://www.xiaohui.com/weekly/20070307.htm ),谈到自己在解决一个拥有 60 万条记录的 MySQL 数据库访问时,导致 MySQL CPU 占用 100% 的经过.在解决问题完成优化(optimize)之后,我发现 Discuz 论坛也存在这个问题,当时稍微提了一下: 发现此主