1

我从我认为是我的问题的开始:

我将一个 mysql 数据库从在线服务器导出到本地服务器,这样我就可以毫无风险地对其进行测试。

但是在 XAMPP 中我无法重新启动 MySql 模块。这

11:02:54  [mysql]   Attempting to start MySQL app...

除了抛出这个错误之外什么也没做

10:57:49  [mysql]   Error: MySQL shutdown unexpectedly.
10:57:49  [mysql]   This may be due to a blocked port, missing dependencies, 
10:57:49  [mysql]   improper privileges, a crash, or a shutdown by another method.
10:57:49  [mysql]   Press the Logs button to view error logs and check
10:57:49  [mysql]   the Windows Event Viewer for more clues
10:57:49  [mysql]   If you need more help, copy and post this
10:57:49  [mysql]   entire log window on the forums

我在互联网上查找了它,发现唯一可行的解​​决方案是在每次启动之前删除 mysql/data/ibdata1 文件。我知道这是一个肮脏的解决方案,但它确实有效,我不想在上面浪费太多时间。

现在实际问题:我添加了一个新表。下次重新启动后(包括删除 ibdata1 文件),我在 phpMyAdmin 的左列中看到了表格,但是当我单击“+”时,它完全为空。当我单击名称时,我收到错误

#1146 table doesnt exist

如果我尝试创建一个同名的新表,我会得到同样的错误。

这是 xampp 日志文件:

2013-09-27 11:17:21 4284 [Note] Plugin 'FEDERATED' is disabled.
2013-09-27 11:17:21 21e8 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-27 11:17:21 4284 [Note] InnoDB: The InnoDB memory heap is disabled
2013-09-27 11:17:21 4284 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions
2013-09-27 11:17:21 4284 [Note] InnoDB: Compressed tables use zlib 1.2.3
2013-09-27 11:17:21 4284 [Note] InnoDB: Not using CPU crc32 instructions
2013-09-27 11:17:21 4284 [Note] InnoDB: Initializing buffer pool, size = 16.0M
2013-09-27 11:17:21 4284 [Note] InnoDB: Completed initialization of buffer pool
2013-09-27 11:17:21 4284 [Note] InnoDB: The first specified data file C:\xampp\mysql\data\ibdata1 did not exist: a new database to be created!
2013-09-27 11:17:21 4284 [Note] InnoDB: Setting file C:\xampp\mysql\data\ibdata1 size to 10 MB
2013-09-27 11:17:21 4284 [Note] InnoDB: Database physically writes the file full: wait...
2013-09-27 11:17:21 4284 [Note] InnoDB: Setting log file C:\xampp\mysql\data\ib_logfile101 size to 5 MB
2013-09-27 11:17:21 4284 [Note] InnoDB: Setting log file C:\xampp\mysql\data\ib_logfile1 size to 5 MB
2013-09-27 11:17:21 4284 [Note] InnoDB: Renaming log file C:\xampp\mysql\data\ib_logfile101 to C:\xampp\mysql\data\ib_logfile0
2013-09-27 11:17:21 4284 [Warning] InnoDB: New log files created, LSN=45781
2013-09-27 11:17:21 4284 [Note] InnoDB: Doublewrite buffer not found: creating new
2013-09-27 11:17:21 4284 [Note] InnoDB: Doublewrite buffer created
2013-09-27 11:17:22 4284 [Note] InnoDB: 128 rollback segment(s) are active.
2013-09-27 11:17:22 4284 [Warning] InnoDB: Creating foreign key constraint system tables.
2013-09-27 11:17:22 4284 [Note] InnoDB: Foreign key constraint system tables created
2013-09-27 11:17:22 4284 [Note] InnoDB: Creating tablespace and datafile system tables.
2013-09-27 11:17:22 4284 [Note] InnoDB: Tablespace and datafile system tables created.
2013-09-27 11:17:22 4284 [Note] InnoDB: Waiting for purge to start
2013-09-27 11:17:22 4284 [Note] InnoDB: 5.6.11 started; log sequence number 0
2013-09-27 11:17:22 4284 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 9dce5432-2755-11e3-835a-20689d9d84a8.
2013-09-27 11:17:22 4284 [Note] Server hostname (bind-address): '*'; port: 3306
2013-09-27 11:17:22 4284 [Note] IPv6 is available.
2013-09-27 11:17:22 4284 [Note]   - '::' resolves to '::';
2013-09-27 11:17:22 4284 [Note] Server socket created on IP: '::'.
2013-09-27 11:34:15 3928 [Note] Plugin 'FEDERATED' is disabled.
2013-09-27 11:34:15 12d0 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-27 11:34:15 3928 [Note] InnoDB: The InnoDB memory heap is disabled
2013-09-27 11:34:15 3928 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions
2013-09-27 11:34:15 3928 [Note] InnoDB: Compressed tables use zlib 1.2.3
2013-09-27 11:34:15 3928 [Note] InnoDB: Not using CPU crc32 instructions
2013-09-27 11:34:15 3928 [Note] InnoDB: Initializing buffer pool, size = 16.0M
2013-09-27 11:34:15 3928 [Note] InnoDB: Completed initialization of buffer pool
2013-09-27 11:34:15 3928 [Note] InnoDB: Highest supported file format is Barracuda.
2013-09-27 11:34:15 3928 [Note] InnoDB: The log sequence numbers 0 and 0 in ibdata files do not match the log sequence number 2203529 in the ib_logfiles!
2013-09-27 11:34:15 3928 [Note] InnoDB: Database was not shutdown normally!
2013-09-27 11:34:15 3928 [Note] InnoDB: Starting crash recovery.
2013-09-27 11:34:15 3928 [Note] InnoDB: Reading tablespace information from the .ibd files...
2013-09-27 11:34:15 3928 [ERROR] InnoDB: Attempted to open a previously opened tablespace. Previous tablespace mysql/innodb_index_stats uses space ID: 2 at filepath: .\mysql\innodb_index_stats.ibd. Cannot open tablespace mydatabase/blackboard which uses space ID: 2 at filepath: .\tum_mitfahrer_app\blackboard.ibd
InnoDB: Error: could not open single-table tablespace file .\tum_mitfahrer_app\blackboard.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.

它在 Windows 8 上运行。可能与缺少权限有关,但我将 xampp 从 c:\program files\xampp 重新安装到 c:\xampp -> 同样的问题。我必须删除 ibdata1 才能启动它,然后我创建的每个新表都消失了。

4

1 回答 1

0

这似乎是 MySQL 5.6 中的一个已知错误
他们还提到了一种解决方法:

[2012 年 11 月 27 日 8:39] Sunny Bains 这是 bug#67179 的副本。只是副作用不同。Windows 安装程序?显然复制了 .ibd 文件,这导致了问题。数据/mysql中的那些。如果要恢复文件,则必须执行以下操作:

  1. 删除 data/mysql/*.ibd 文件和 .ibd 文件对应的 .frm 文件
  2. 使用 --skip-slave-start 启动服务器
  3. 您应该能够访问和备份您的数据

我注意到的是,在关机时,您将再次失败。我需要调查其他问题的原因。我稍后会发布有关此的更新。

如果它不起作用,请尝试在 Windows 上恢复 MySQL InnoDB 文件,这与 XAMPP 相关性稍高。

于 2013-09-27T11:01:05.643 回答