一次惊心动魄的Percona XTRADB Cluster数据修复过程【MySQL】

标签: 惊心动魄 percona xtradb | 发表时间:2015-01-01 00:24 | 作者:china_world
出处:http://blog.csdn.net

一次惊心动魄的Percona XTRA Cluster DB数据修复过程


        2014.12.27日中午约12:30,电话响起,是同事YI的电话,告之说库中出现大量死锁,用“service mysql restart”无法重启。这里我先说明下:我们在移动音乐项目中使用的是

Percona XTRA Cluster DB,在生成环境中,建议最低是3个节点。但移动移动机器紧张为由,导致数据库运行在单一节点上。虽然此前已经告之了这样导致单点故障,无法保障HA。但移动不以为然,终于导致数据库崩溃发生了。


        问题发生后,先用“/etc/init.d/mysql bootstrap-pxc”启动数据库,但显示“table not exists”。分析后,判断这是数据库崩溃导致数据丢失。之后,立即投入数据恢复的紧张工作。


        恢复方案为:

        1、新建数据库;

        2、新建表;

        3、discard表空间;

        4、拷贝备份的.ibd文件;

        5、import表空间;

        至此,在新建库上恢复正常。


        但又一个新问题,程序中已经引用了之前的数据库名,必须改回原数据库名。至此,立即动手。

        方案为:

        1、删除原数据库;

        2、用原库名新建数据库;

        3、拷贝原备份目录(idbata、.ibd文件)

        4、之后重复上面的恢复方案


         后发现数据库无法正常启动,把my.cnf改为"innodb_force_recovery          = 4"。数据库可以启动,但无法新建、删除和更新。这种情况,一种方案是把数据dump出来,

再dump进去。为此,新建了另一个数据库。这次是采用的MySQL官方社区版。在数据DUMP的过程中,发现有的表无法dump。后采用联邦表把数据导入进去。在导入的过程中,还发生了“字段太长,导入失败”的问题,查找后把my.cnf中改为“# sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES”问题解决。

         至此,这次Mysql崩溃导致的数据恢复工作完成,数据没有丢失。下面要做的就是MySQL HA了。主要脚本如下:

         alter table  AUTH_USER                discard tablespace;

          cp -f /data/munion_db_bak/munion_db/AUTH_USER.ibd /data/munion_db/munion_db

          alter table  AUTH_USER                import tablespace;

          mysqldump -u root -pmunion123  -c --default-character-set=gbk  munion_db  AUTH_USER                          > /data/dump/AUTH_USER

          mysqldump -u root -pmunion123  --default-character-set=gbk  munion_db  AUTH_USER                              < /data/dump/AUTH_USER

          此次Mysql数据恢复是次难得的经验,当然最好是不要出现这样的问题。这就需要把HA先做在前面了。附另一种数据恢复方案(没有实际验证过):

   1. drop these tables from mysql:    
    innodb_index_stats      innodb_table_stats     slave_master_info      slave_relay_log_info      slave_worker_info   
   2. delete all .frm & .ibd of the tables above.     
   3. run this file to recreate the tables above (source five-tables.sql).    
   4. restart mysqld.     
   Cheers,    CNL

作者:china_world 发表于2014-12-31 16:24:42 原文链接
阅读:45 评论:0 查看评论

相关 [惊心动魄 percona xtradb] 推荐:

一次惊心动魄的Percona XTRADB Cluster数据修复过程【MySQL】

- - CSDN博客推荐文章
一次惊心动魄的Percona XTRA Cluster DB数据修复过程.         2014.12.27日中午约12:30,电话响起,是同事YI的电话,告之说库中出现大量死锁,用“service mysql restart”无法重启. 这里我先说明下:我们在移动音乐项目中使用的是. Percona XTRA Cluster DB,在生成环境中,建议最低是3个节点.

Percona XtraDB Cluster 搭配 HAProxy

- - 小惡魔 - 電腦技術 - 工作筆記 - AppleBOY
本篇文章紀錄安裝 Percona XtraDB Cluster (簡稱 PXC) 及搭配 HAProxy 做分散流量系統,其實在業界已經很常看到 HAProxy + MySQL Cluster Database 解決方案,HAProxy 幫您解決負載平衡,並且偵測系統是否存活,管理者也就不用擔心 MySQL 服務是否會掛掉.

啟動 Percona XtraDB Cluster 注意事項

- - 小惡魔 - 電腦技術 - 工作筆記 - AppleBOY
在 Percona XtraDB Cluster 推出 5.5.28 以前,最簡單的啟動方式就是打開 my.cnf 設定 wsrep_urls 在 [mysqld_safe] section 內. 假設我們有三台 Node 分別為底下 IP:. 當啟動 MySQL 時,Percona 會先去偵測 Cluster 內的 192.168.1.100 是否存在,如果不存在就在往下找,最後偵測 192.168.1.102 也不存在時,這時候 MySQL 就是啟動失敗,為了避免這情形,也就是全部的 Node Crash 狀況下,還是可以將 Cluster 啟動,可以改成底下設定.

移动基于Percona XTRADB Cluster的大数据解决方案

- - CSDN博客云计算推荐文章
移动基于Percona XTRADB Cluster的大数据解决方案.     一、移动的去IOE之旅.             最近因为“棱镜门”事件的曝光,引起了国家对信息安全问题的注意,各大行业也开展起来去“IOE”的行动. 对移动而言, 一方面是对信息安全的担心,另一方面是对降低成本的考量,对开源体系架构的引入也成为一种现实的方案.

在 Percona XtraDB Cluster 裡使用 async replication 時人工 failover 的方式…

- - Gea-Suan Lin's BLOG
在使用 Galera Cluster 時還是可以架設一般的 slave server ( Percona XtraDB Cluster 則是 Percona 對 Galera Cluster 的封裝),像是這樣的架構:. 其中 node{1,2} 為 cluster,node3 則是傳統的 async replication,來源的 master 為 node1.

Percona Xtrabackup MySQL 全备

- - CSDN博客数据库推荐文章
作者:ylqmf 发表于2013-3-24 17:29:55 原文链接. 阅读:99 评论:0 查看评论.

Percona XtraBackup 1.6.7 发布

- - 开源中国社区最新新闻
Percona XtraBackup 1.6.7 发布,该版本主要是 bug 的修复,详细列表请看 这里. XtraBackup 是一个用来备份 MySQL 的 InnoDB 数据库的开源工具. 例如执行增量备份的命令是:.

comScore:2013年将是数字行业最惊心动魄一年

- - 互联网的那点事
美国互联网流量监测机构comScore周五发布了《2013聚焦美国数字未来》(2013 U.S. Digital Future in Focus)报告,对社交媒体、搜索、网络视频、数字广告、移动和电子商务等流行技术如何定义当前的数字市场,以及这些趋势的未来前景进行了解读. “2013年将成为数字行业最惊心动魄的一年,因为无处不在的数字平台将为营销人员提供无穷的机会与消费者展开联系和互动.

Percona XtraBackup InnoDB 備份工具

- - 小惡魔 - 電腦技術 - 工作筆記 - AppleBOY
大家可以選擇透過 yum 或 apt Repository 方式安裝,下面介紹 apt 方式即可. 將 apt 伺服器寫入 /etc/apt/sources.list. VERSION 請至換 Ubuntu Server 版號,如果您想測試實驗性版本請加入底下連結. 根據不同的 MySQL 版本來選擇 XtraBackup 指令,可以參考 Choosing the Right Binary,所以大家不要用錯指令了.

使用Percona XtraBackup备份MySQL

- - searchdatabase
  Percona XtraBackup是一款开放源码,免费的MySQL热备份软件,以非阻塞方式执行备份InnoDB和XtraDB为存储引擎的数据库,是商业备份工具InnoDB Hotbackup的一个很好的替代品. 作者的前一家公司就花了不菲美元买了Hotbackup产品.     下载地址: http://www.searchdatabase.com.cn/softwaredownload_10241.htm.