MySQL 5.5:不能删除数据库:在查询过程中丢失与MySQL服务器的连接

在我的mysql数据库发生巨大的崩溃之后,我做了一个恢复,除了一个模式外,一切正常。 在phpMyAdmin,这个模式doest不包含任何表,但我们要求mysql删除模式(drop database xxxx)我有以下错误:

Lost connection to MySQL server during query 

在mysql的error.log中,我看到以下内容:

 InnoDB: Load table 'xxxx/menu' failed, the table has missing foreign key indexes. Turn off 'foreign_key_checks' and try again.140120 10:52:35 InnoDB: Assertion failure in thread 139903484229376 in file row0mysql.c line 3822 InnoDB: Failing assertion: table 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. 09:52:35 UTC - mysqld got signal 6 ; This could be because you hit a bug. It is also possible that this binary or one of the libraries it was linked against is corrupt, improperly built, or misconfigured. This error can also be caused by malfunctioning hardware. We will try our best to scrape up some info that will hopefully help diagnose the problem, but since we have already crashed, something is definitely wrong and this may fail. Please help us make Percona Server better by reporting any bugs at http://bugs.percona.com/ key_buffer_size=16777216 read_buffer_size=131072 max_used_connections=6 max_threads=153 thread_count=5 connection_count=5 It is possible that mysqld could use up to key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 351196 K bytes of memory Hope that's ok; if not, decrease some variables in the equation. Thread pointer: 0x314ff30 Attempting backtrace. You can use the following information to find out where mysqld died. If you see no messages after this, something went terribly wrong... stack_bottom = 7f3dd17aee80 thread_stack 0x30000 /usr/sbin/mysqld(my_print_stacktrace+0x2e)[0x7c613e] /usr/sbin/mysqld(handle_fatal_signal+0x4a4)[0x69daf4] /lib/x86_64-linux-gnu/libpthread.so.0(+0xfcb0)[0x7f3dd0d96cb0] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x35)[0x7f3dcff87425] /lib/x86_64-linux-gnu/libc.so.6(abort+0x17b)[0x7f3dcff8ab8b] /usr/sbin/mysqld[0x813038] /usr/sbin/mysqld[0x7eb25c] /usr/sbin/mysqld[0x69db6f] /usr/sbin/mysqld(_Z24plugin_foreach_with_maskP3THDPFcS0_P13st_plugin_intPvEijS3_+0x226)[0x5b2376] /usr/sbin/mysqld(_Z11mysql_rm_dbP3THDPcbb+0x616)[0x587ca6] /usr/sbin/mysqld(_Z21mysql_execute_commandP3THD+0x139e)[0x5a411e] /usr/sbin/mysqld(_Z11mysql_parseP3THDPcjP12Parser_state+0x314)[0x5aa304] /usr/sbin/mysqld(_Z16dispatch_command19enum_server_commandP3THDPcj+0x20a4)[0x5ac454] /usr/sbin/mysqld(_Z24do_handle_one_connectionP3THD+0x137)[0x648397] /usr/sbin/mysqld(handle_one_connection+0x51)[0x648471] /lib/x86_64-linux-gnu/libpthread.so.0(+0x7e9a)[0x7f3dd0d8ee9a] /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x7f3dd00453fd] Trying to get some variables. Some pointers may be invalid and cause the dump to abort. Query (7f3d98004b60): is an invalid pointer Connection ID (thread ID): 710 Status: NOT_KILLED 

我testing了所有的innodb_force_recovery值(1到6),并禁用前检查键,但没有帮助…此外,在information_schema我可以看到一些值:

  • 在INNODB_SYS_TABLES ==>(1717,'xxxx','menu',1,10,0)中,
  • 在INNODB_SYS_FOREIGN ==>('xxxx / menu_FK_1','xxxx / menu','kms_site1 / page_zone_component',1,5)中,
  • 在INNODB_SYS_FOREIGN_COLS ==>('xxxx / menu_FK_1','page_zone_component_id','id',0)中,

我想,我在innodb描述文件中有一些残留表/索引,但我不知道如何修复…