7

每次我安装 EasyPHP 13.1VC9 时,它都会工作几天,然后在我打开它时随机出现这个错误,我无法启动 MySQL。我尝试以管理员身份运行,并且尝试编辑权限。另外,当我通过 PHPadmin 访问 MYSQL 时,我收到以下错误:

#2002 - No connection could be made because the target machine actively refused it.

这是日志文件所说的:

2013-06-12 23:47:18 4148 [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 userauth/userinfo which uses space ID: 2 at filepath: .\userauth\userinfo.ibd

InnoDB: Error: could not open single-table tablespace file .\userauth\userinfo.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.
4

7 回答 7

15

这是 MySQL 5.6.11 的一个错误——EasyPHP 网站说要升级到 MySQL 5.6.12 来解决这个问题,但无论如何我都遇到了同样的问题。

通过一些跟踪,我发现这是由于在 EasyPHP 仍在运行时关闭/重新启动计算机(通过他们的Facebook 页面)。

一个可行的解决方案似乎如下(来源):

  1. 退出 EasyPHP 服务器
  2. 删除所有位于 mysql/data 目录中的 ibd 文件。
  3. 重新启动服务器,确保它启动(但您的 MySQL 将无法正常运行,因此在大多数情况下站点将无法正确显示,因为没有可用的数据库)。
  4. 停止/退出 EasyPHP 服务器
  5. 将所有备份 ibd 文件复制到其各自的位置。
  6. 重启 EasyPHP 服务器。
于 2013-08-01T17:19:48.843 回答
4

我刚遇到这个问题。我可以通过在 MySQL 的配置文件中添加一行来重新启动 MySQL。这是日志文件错误的选项3。我添加innodb_force_recovery = 1到 my.ini 文件中。然后你重新启动你的 MySQL 服务器。如果它工作正常,你必须回到你的配置文件,删除该行并重新启动。它对我有用,但我无法访问用户。我认为这个错误来自这个版本的 EastPHP,我找不到修复它的方法。我尝试卸载它并安装 12.1 版本。

希望这有帮助!

于 2013-06-13T13:05:51.500 回答
1

断电并被迫重新启动我的 win7 PC 后,我无法在 EasyPHP-DevServer 13.1 上使用 mySQL,消息:“意外结束 mysql”:

尝试了上面的所有答案,发现@Jessiiem 答案有效。这是一个小操作列表,如果遇到同样的问题,人们可以节省时间:

  1. 我在这里找到了配置文件:

    C:\Program Files (x86)\EasyPHP-DevServer-13.1VC11\binaries\conf_files\my.ini
    
  2. 并补充说:

    innodb_force_recovery = 1
    

    # Uncomment the following if you are using InnoDB tables
    
  3. 然后重新启动 Easy PHP(以管理员身份运行);

  4. 按照@Jessiiem 的建议取消注释配置文件:

    # innodb_force_recovery = 1
    
于 2014-01-23T22:03:40.593 回答
0

来自官方 EasyPHP 常见问题解答:

*3。[5.3.3, Vista/Seven] MySql 意外结束...查看日志文件?

您需要更改用户对 EasyPHP 目录的权限

1. Go to 'Computer', open/view Drive C, then double click 'Program Files (x86)'.
2. Right click on 'EasyPHP5.3.0' folder then click 'Properties'.
3. On 'Security' tab click 'Edit' button.
4. Select the user that you are currently using.
5. Under 'Permissions for Users' box, tick 'Full control' on 'Allow' column.
6. And then click 'OK' button to apply the changes.*

http://www.easyphp.org/faq.php#2

于 2013-07-13T08:55:16.170 回答
0

当我遇到这个问题时,它实际上不在一个版本的 MySQL 中。我尝试并获得了不同的版本。我认为这是一个easyPHP问题。

解决它的方法是将代码放在MySQL 配置文件innodb_force_recovery = 1的上部。# Uncomment the following if you are using InnoDB tablesmy.ini

这样,我就可以再次重新启动 MySQL。它开始工作得很好,所以也许这对你有用。

于 2015-08-26T11:15:06.933 回答
0

毕竟上面描述的所有方法只在我的情况下禁用 innodb 有帮助:(EasyPHP 14.1,win 10)在 my.ini 中:

default-storage-engine=MyISAM
default-tmp-storage-engine=MyISAM
innodb=OFF

http://www.chriscalender.com/disabling-innodb-in-mysql-5-6-and-mariadb-10-0/

于 2016-08-10T07:21:51.530 回答
0

有时通过cmd打开eds-mysqld.exe可以告诉你问题的根源是什么。我的意思是打开 CMD.exe 然后 cd C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\binaries\mysql\bin\ 并打开 eds-mysqld.exe。

我的问题是mysql的错误目录,所以没有错误日志...。

于 2017-04-07T17:32:01.217 回答