gpt4 book ai didi

mysql 不会工作 easyphp xampp

转载 作者:行者123 更新时间:2023-11-29 00:23:30 24 4
gpt4 key购买 nike

我正在尝试使用 EasyPHP 或 XAMPP 创建本地网络服务器。当我第一次运行 XAMPP 或 EasyPHP 时,一切正常。在 PhpMyAdmin 中,我创建了一个数据库并执行我需要的操作。但是当我下次尝试运行程序时,MySQL 将无法运行。我发现只有一种方法可以让 MySQL 再次工作 - 删除 ibdata1 文件,但这样做会丢失我的 MySQL 数据。

对不起我的英语,谢谢你的回答!

附言有我的 MySQL 错误日志文件。

>     2013-11-23 14:46:58 1092 [Note] Plugin 'FEDERATED' is disabled.
> 2013-11-23 14:46:58 1814 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-11-23 14:46:58 1092 [Note] InnoDB: The InnoDB memory heap is disabled
> 2013-11-23 14:46:58 1092 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions
> 2013-11-23 14:46:58 1092 [Note] InnoDB: Compressed tables use zlib 1.2.3
> 2013-11-23 14:46:58 1092 [Note] InnoDB: Not using CPU crc32 instructions
> 2013-11-23 14:46:58 1092 [Note] InnoDB: Initializing buffer pool, size = 16.0M
> 2013-11-23 14:46:58 1092 [Note] InnoDB: Completed initialization of buffer pool
> 2013-11-23 14:46:58 1092 [Note] InnoDB: Highest supported file format is Barracuda.
> 2013-11-23 14:46:58 1092 [Warning] InnoDB: The log sequence number in the ibdata files is higher than the log sequence number in the
> ib_logfiles! Are you sure you are using the right ib_logfiles to start
> up the database. Log sequence number in the ib_logfiles is 1600607,
> logsequence numbers stamped to ibdata file headers are between 1600617
> and 1600617.
> 2013-11-23 14:46:58 1092 [Note] InnoDB: The log sequence numbers 1600617 and 1600617 in ibdata files do not match the log sequence
> number 1600607 in the ib_logfiles!
> 2013-11-23 14:46:58 1092 [Note] InnoDB: Database was not shutdown normally!
> 2013-11-23 14:46:58 1092 [Note] InnoDB: Starting crash recovery.
> 2013-11-23 14:46:58 1092 [Note] InnoDB: Reading tablespace information from the .ibd files...
> 2013-11-23 14:46:58 1092 [ERROR] InnoDB: Attempted to open a previously opened tablespace. Previous tablespace
> mysql/slave_relay_log_info uses space ID: 3 at filepath:
> .\mysql\slave_relay_log_info.ibd. Cannot open tablespace
> wordpress/wp_terms which uses space ID: 3 at filepath:
> .\wordpress\wp_terms.ibd
> InnoDB: Error: could not open single-table tablespace file .\wordpress\wp_terms.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.

最佳答案

我不知道这个问题的原因,但这是我解决它的方法。

我通过添加 innodb_file_per_table = OFF 禁用了每个表的 innodb 文件到我的 MySQL 配置文件。

然后对于每个损坏的表:

[ERROR] InnoDB: Could not find a valid tablespace file for '<base>/<table>'

我创建了一个文件夹 <base>data我的mysql安装文件夹。在一个名为 <table>.frm 的空文件中.

然后连接到你的数据库并执行DROP TABLE <base>.<table> .

DROP应该是成功的,即使错误日志显示错误:

InnoDB: Failed to find tablespace for table '"<base>"."<table>"' in the cache. Attempting to load the tablespace with space id 255.

[编辑] 如果你在一个基础中有很多表,你也可以只创建文件夹 <base>data/目录,并发出 DROP DATABASE <base> .

/!\您将丢失任何未损坏的表

关于mysql 不会工作 easyphp xampp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20162508/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com