MYSQL不能启动恢复 MYSQL启动报错恢复 MYSQL数据库恢复 mysql ibdata1启动恢复
MYSQL不能启动恢复 MYSQL启动报错恢复 MYSQL数据库恢复 mysql ibdata1启动恢复
客 户 名 称 某游戏商
数 据 类 型 mysql 5.5
数 据 大 小 150 GB
故 障 检测 服务器断电导致数据库异常无法启动。
客 户 要 求 直接恢复文件 使其启动 直接能使用。
修 复 结 果 经过检测 启动报以下错误
141103 1:56:20 [Note] Plugin 'FEDERATED' is disabled.
141103 1:56:20 InnoDB: The InnoDB memory heap is disabled
141103 1:56:20 InnoDB: Mutexes and rw_locks use Windows interlocked functions
141103 1:56:20 InnoDB: Compressed tables use zlib 1.2.3
141103 1:56:20 InnoDB: Initializing buffer pool, size = 107.0M
141103 1:56:20 InnoDB: Completed initialization of buffer pool
141103 1:56:20 InnoDB: highest supported file format is Barracuda.
InnoDB: Log scan progressed past the checkpoint lsn 178873986431
141103 1:56:20 InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
InnoDB: Doing recovery: scanned up to log sequence number 178873991434
141103 1:56:21 InnoDB: Starting an apply batch of log records to the database...
InnoDB: Progress in percents: 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
InnoDB: Apply batch completed
141103 1:56:21 InnoDB: Waiting for the background threads to start
141103 1:56:22 InnoDB: 1.1.8 started; log sequence number 178873991434
141103 1:56:22 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3307
141103 1:56:22 [Note] - '0.0.0.0' resolves to '0.0.0.0';
141103 1:56:22 [Note] Server socket created on IP: '0.0.0.0'.
141103 1:56:22 InnoDB: Assertion failure in thread 2332 in file trx0purge.c line 829
InnoDB: Failing assertion: purge_sys->purge_trx_no <= purge_sys->rseg->last_trx_no
InnoDB: We intentionally generate a memory trap.
InnoDB: Submit a detailed bug report to http://bugs.mysql.com.
InnoDB: If you get repeated assertion failures or crashes, even
InnoDB: immediately after the mysqld startup, there may be
InnoDB: corruption in the InnoDB tablespace. Please refer to
InnoDB: http://dev.mysql.com/doc/refman/5.5/en/forcing-innodb-recovery.html
InnoDB: about forcing recovery.
141103 1:56:22 [Note] Event Scheduler: Loaded 0 events
141103 1:56:22 [Note] D:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld: ready for connections.
Version: '5.5.27' socket: '' port: 3307 MySQL Community Server (GPL)
显然这是 清理事务时导致的崩溃. 这种一般是由于事务损坏导致。为什么事务会损坏,我的理解就是 由于断电 事务没有写干净 导致下次恢复时 此事务就不完整或者异常 导致mysql启动崩溃、。
客户的要求是 快速上线 争取半小时内搞定。 因为是游戏数据库所以 不能耽搁收入 你懂得。
方案一 导出数据库脚本 客户不同意 时间会太长 耗费不起时间。
方案二 手工恢复 快速上线 使其直接使用, 经过分析 日志 发现有两个表的事务有问题,手工屏蔽掉,然后在次启动MYSQL 客户 内部上线测试数据库完美OK。
时间仅仅10分钟 搞定.
141103 2:12:58 [Note] Plugin 'FEDERATED' is disabled.
141103 2:12:58 InnoDB: The InnoDB memory heap is disabled
141103 2:12:58 InnoDB: Mutexes and rw_locks use Windows interlocked functions
141103 2:12:58 InnoDB: Compressed tables use zlib 1.2.3
141103 2:12:58 InnoDB: Initializing buffer pool, size = 107.0M
141103 2:12:58 InnoDB: Completed initialization of buffer pool
141103 2:12:58 InnoDB: highest supported file format is Barracuda.
InnoDB: Log scan progressed past the checkpoint lsn 178873986431
141103 2:12:58 InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
InnoDB: Doing recovery: scanned up to log sequence number 178873991434
141103 2:12:58 InnoDB: Starting an apply batch of log records to the database...
InnoDB: Progress in percents: 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
InnoDB: Apply batch completed
141103 2:12:59 InnoDB: Waiting for the background threads to start
141103 2:13:00 InnoDB: 1.1.8 started; log sequence number 178873991434
141103 2:13:00 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3307
141103 2:13:00 [Note] - '0.0.0.0' resolves to '0.0.0.0';
141103 2:13:00 [Note] Server socket created on IP: '0.0.0.0'.
141103 2:13:00 [Note] Event Scheduler: Loaded 0 events
141103 2:13:00 [Note] D:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld: ready for connections.
Version: '5.5.27' socket: '' port: 3307 MySQL Community Server (GPL)
141103 2:13:23 [Note] D:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld: Normal shutdown
141103 2:13:23 [Note] Event Scheduler: Purging the queue. 0 events
141103 2:13:23 InnoDB: Starting shutdown...
141103 2:13:23 InnoDB: Shutdown completed; log sequence number 178873991434
141103 2:13:23 [Note] D:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld: Shutdown complete
141103 2:13:24 [Note] Plugin 'FEDERATED' is disabled.
141103 2:13:24 InnoDB: The InnoDB memory heap is disabled
141103 2:13:24 InnoDB: Mutexes and rw_locks use Windows interlocked functions
141103 2:13:24 InnoDB: Compressed tables use zlib 1.2.3
141103 2:13:24 InnoDB: Initializing buffer pool, size = 107.0M
141103 2:13:24 InnoDB: Completed initialization of buffer pool
141103 2:13:24 InnoDB: highest supported file format is Barracuda.
InnoDB: 127 rollback segment(s) active.
141103 2:13:24 InnoDB: Waiting for the background threads to start
141103 2:13:25 InnoDB: 1.1.8 started; log sequence number 178873991434
141103 2:13:25 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3307
141103 2:13:25 [Note] - '0.0.0.0' resolves to '0.0.0.0';
141103 2:13:25 [Note] Server socket created on IP: '0.0.0.0'.
141103 2:13:25 [Note] Event Scheduler: Loaded 0 events
141103 2:13:25 [Note] D:\Program Files\MySQL\MySQL Server 5.5\bin\mysqld: ready for connections.
Version: '5.5.27' socket: '' port: 3307 MySQL Community Server (GPL)
客户满 意 是 耗时10分钟
深圳极佳数据救援中心友情提醒:重要数据一定要勤备份,遇到数据丢失 数据损坏 等问题,要第一时间联系专业人士。
对于各类主流数据库,我们可以做最底层的数据恢复及数据修复,对于数据库的某些特定故障我们保证数据库100%原模原样恢复,无论多大的数据库都立等可取。