mysql数据库 几年_对运行几年的MySQL数据库进行导出、导入备份恢复操作

导航:

--James Qi 2009年11月30日 (一) 13:24 (CST)

我们MediaWiki网站用的MySQL数据库还是很早前安装的,至少有两年以上的时间了,以前小许帮忙设置的InnoDB共享文件是8个2G大小,今年看数据已经超过了16G,最后一个文件自动扩展到19G,也就是有8*2+17=33G大小了。

网站几乎每天会遇到3-5次打开非常慢的情况,这是观察是MySQL服务器的CPU占用达到100%,需要过3-5分钟后恢复到正常的10%上下。而MySQL刚刚恢复正常的时候,因为这几分钟内等待的浏览者比较多,会导致Apache服务器负载急剧升高的情况,一般是几分钟处理后也可以逐步恢复,但少数情况下会导致Apache服务器负载持续升高直至死机,上周就遇到好几次这样的情况,必须硬件重启Apache服务器,很麻烦。

小许早就说MySQL服务运行时间很长以后,需要进行整理,一般是进行导出、导入操作,以便提高数据处理效率。这个事情我们也拖了很久没有做,上周把绝大部分MediaWiki的网站从1.10升级到1.15并且把需要进行的数据库更新操作执行完后,这个周末下决心来做这个重新导入的工作。

为了解决InnoDB共享文件过大的问题,在my.cnf中设置了innodb-file-per-table,这样新建的InnoDB数据库都是采用独立的文件。因为我们实际上每天凌晨都有自动备份数据,所以实际操作时不需要再进行导出,只需要删除原来的数据库,重新恢复就可以。具体的顺序是:

访问网站最近更新,如果是当天有变化的数据库需要先重新备份导出

关闭网站访问(可以用Squid控制)

drop以前的数据库

重新create新的数据库,名称保持一致

从凌晨备份的文件恢复到新建的数据库中

查看对应目录总是否有新的InnoDB独立文件*.idb

通过phpMyAdmin查看新库是否完整(数据量会稍有减少,应该是整理后正常情况)

恢复网站访问

检查网站访问是否正常、数据是否不变、能否正常编辑等

昨天一大早上先测试了1、2个数据量小或者不太重要的库,看到都还算顺利,然后下午又操作了一个数据量大的库。本来计划等观察几天看没有问题再进行其它数据库的整理工作,但我怕下周还有其他的事情太多,干脆一鼓作气晚上把所有14个数据库全部都重建了,其中有几个当天还有数据变化的库就在恢复前进行了临时的备份操作。

这些天住的地方晚上7-11点上网速度特慢,8-10点几乎不能正常使用,临时用联通的WCDMA 3G上网卡速度要好一些,但似乎在晚上人们上网高峰期速度也不好。为了操作方便、也避开访问,昨天的操作基本上都是在凌晨,一直到清晨4点多,中途还去CCTV5看了巴萨V.S.皇马的西班牙德比最后10分钟的比赛。

早上睡到很晚起来(上周都是这样颠倒过的),在网上问同事网站数据没有问题,那说明备份恢复操作成功了,上午只出现过一次3分钟左右的速度慢情况,还不能肯定数据的整理能否解决MySQL服务器负载高的问题,需要继续观察看。

关于“对运行几年的MySQL数据库进行导出、导入备份恢复操作”的留言:

目前暂无留言

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值