XAMPP MySQL关闭意外 - 无法打开表空间

时间:2013-09-18 12:41:35

标签: mysql xampp

我最近重新安装了XAMPP以获得PHP5.5

我这样做时创建了一个新数据库,通过phpMyAdmin创建的SQL导出导入它。 (它是一个实时数据库的副本,允许我在我的本地主机上进行开发)。

安装并重新启动电脑后,一切正常。

在一天结束时,我关机并离开了。当我下次打开电脑时。我收到了MySQL关闭意外错误。认为这可能是我重新安装的新安装。在树脂摊位后重新启动PC后,一切都恢复正常。所以我重新导入数据库,整天都没有问题。

但是我今天又回来了,错误又回来了。 有谁知道导致错误的原因是什么?文件权限似乎没问题,有问题的文件(参见日志)说所有用户都有写/读/等权限。

mysql_error.log

2013-09-18 12:18:48 6556 [Note] Plugin 'FEDERATED' is disabled.
2013-09-18 12:18:48 1b60 InnoDB: Warning: Using innodb_additional_mem_pool_size is DEPRECATED. This option may be removed in future releases, together with the option innodb_use_sys_malloc and with the InnoDB's internal memory allocator.
2013-09-18 12:18:48 6556 [Note] InnoDB: The InnoDB memory heap is disabled
2013-09-18 12:18:48 6556 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions
2013-09-18 12:18:48 6556 [Note] InnoDB: Compressed tables use zlib 1.2.3
2013-09-18 12:18:48 6556 [Note] InnoDB: Not using CPU crc32 instructions
2013-09-18 12:18:48 6556 [Note] InnoDB: Initializing buffer pool, size = 16.0M
2013-09-18 12:18:48 6556 [Note] InnoDB: Completed initialization of buffer pool
2013-09-18 12:18:48 6556 [Note] InnoDB: Highest supported file format is Barracuda.
2013-09-18 12:18:48 6556 [Note] InnoDB: The log sequence numbers 0 and 0 in ibdata files do not match the log sequence number 6000837 in the ib_logfiles!
2013-09-18 12:18:48 6556 [Note] InnoDB: Database was not shutdown normally!
2013-09-18 12:18:48 6556 [Note] InnoDB: Starting crash recovery.
2013-09-18 12:18:48 6556 [Note] InnoDB: Reading tablespace information from the .ibd files...
2013-09-18 12:18:48 6556 [ERROR] InnoDB: Attempted to open a previously opened tablespace. Previous tablespace mysql/innodb_table_stats uses space ID: 1 at filepath: .\mysql\innodb_table_stats.ibd. Cannot open tablespace testserver/tbl_users which uses space ID: 1 at filepath: .\testserver\tbl_users.ibd
InnoDB: Error: could not open single-table tablespace file .\testserver\tbl_users.ibd
InnoDB: We do not continue the crash recovery, because the table may become
InnoDB: corrupt if we cannot apply the log records in the InnoDB log to it.
InnoDB: To fix the problem and start mysqld:
InnoDB: 1) If there is a permission problem in the file and mysqld cannot
InnoDB: open the file, you should modify the permissions.
InnoDB: 2) If the table is not needed, or you can restore it from a backup,
InnoDB: then you can remove the .ibd file, and InnoDB will do a normal
InnoDB: crash recovery and ignore that table.
InnoDB: 3) If the file system or the disk is broken, and you cannot remove
InnoDB: the .ibd file, you can set innodb_force_recovery > 0 in my.cnf
InnoDB: and force InnoDB to continue crash recovery here.

1 个答案:

答案 0 :(得分:0)

排除故障真是太糟糕了。通常,该错误来自在一个mysql上创建并在另一个上导入的数据库。发生在5.5和5.6之间。您可以使用每个表的现有代码和数据从头开始重新创建数据库,然后它应该是无问题的