数据库崩溃,需要帮助恢复

时间:2014-05-02 15:19:02

标签: mysql crash innodb

我尝试重新启动,并收到此错误:

  

ERROR!无法找到MySQL服务器PID文件!   启动MySQL。错误!服务器退出而不更新PID文件(/var/lib/mysql/www.mysitecom.pid)。

查看日志..请参阅大量内容:

140502 14:10:24 InnoDB: The InnoDB memory heap is disabled
140502 14:10:24 InnoDB: Mutexes and rw_locks use GCC atomic builtins
140502 14:10:24 InnoDB: Compressed tables use zlib 1.2.3
140502 14:10:24 InnoDB: Using Linux native AIO
140502 14:10:24 InnoDB: Initializing buffer pool, size = 128.0M
140502 14:10:24 InnoDB: Completed initialization of buffer pool
140502 14:10:24 InnoDB: highest supported file format is Barracuda.
InnoDB: The log sequence number in ibdata files does not match
InnoDB: the log sequence number in the ib_logfiles!
140502 14:10:24  InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Error: trying to add tablespace 12 of name './roundcube/searches.ibd'
InnoDB: to the tablespace memory cache, but tablespace
InnoDB: 12 of name './d6nspw4f_dell/wp_users.ibd' already exists in the tablespace
InnoDB: memory cache!

能够通过将innodb_force_recovery = 4添加到sql配置文件来重新启动,但是所有触摸数据库的站点现在都已损坏且无法写入。

当我尝试对所有表进行mysql转储时,我收到错误:

mysqldump: Got error: 1146: Table 'x3hmcpl_hmcpl.blocked_ips' doesn't exist when using LOCK TABLES

任何帮助都将不胜感激。我们这里没有数据库人员,我一直在努力尽快修复它。

1 个答案:

答案 0 :(得分:2)

innodb_force_recovery = 4将InnoDB置于只读模式,它不应该修复损坏的InnoDB表空间。

转储所有数据库(mysqldump -A> mydb.sql)并重新创建MySQL datadir。