WampServer 2.4 MySQL实例无法启动,图标仍为橙色

时间:2014-04-28 14:31:37

标签: php mysql wamp innodb wampserver

当我启动WampServer 2.4时,MySQL实例无法启动。

有一天它工作正常,第二天出现了这个问题。

我尝试重新启动所有服务,包括" innodb_force_recovery = 1"在my.ini中,我也在my.ini中删除了skip-innodb。

我收到以下错误:

2014-04-28 16:06:51 4408 [Note] Plugin 'FEDERATED' is disabled.
2014-04-28 16:06:51 13dc 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.
2014-04-28 16:06:51 4408 [Note] InnoDB: The InnoDB memory heap is disabled
2014-04-28 16:06:51 4408 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions
2014-04-28 16:06:51 4408 [Note] InnoDB: Compressed tables use zlib 1.2.3
2014-04-28 16:06:51 4408 [Note] InnoDB: Not using CPU crc32 instructions
2014-04-28 16:06:51 4408 [Note] InnoDB: Initializing buffer pool, size = 16.0M
2014-04-28 16:06:51 4408 [Note] InnoDB: Completed initialization of buffer pool
2014-04-28 16:06:51 13dc  InnoDB: Operating system error number 3 in a file operation.
InnoDB: The error means the system cannot find the path specified.
InnoDB: If you are installing InnoDB, remember that you must create
InnoDB: directories yourself, InnoDB does not create them.
2014-04-28 16:06:51 13dc  InnoDB: File name C:\mysql\data\ibdata1
2014-04-28 16:06:51 13dc  InnoDB: File operation call: 'create' returned OS error 103.
2014-04-28 16:06:51 13dc  InnoDB: Cannot continue operation.

我搜索了操作系统错误编号3和操作系统错误103,但我找不到问题的答案。

我得到了ibdata1文件,但由于我的数据库中有数据,我不想删除它,让WampServer重新创建它。

无法登录phpMyAdmin,但我可以访问Localhost。

另外,我很确定我没有更改文件夹结构中的任何内容。

4 个答案:

答案 0 :(得分:0)

MySQL服务器默认接受来自tpc端口3306的连接。

因此,你的MySQL服务器都试图使用相同的端口那不允许所以MySQL服务器启动第二个将失败因为它无法访问端口3306。

作为WAMPServers,MySQL服务器配置为仅在手动请求时启动,而其他MySQL服务器可能设置为启动`自动启动 WAMPServers MySQL永远不会启动

选项1

您只需要一个MySQL服务器来运行单独的数据库,因此在备份任何数据库后卸载其他MySQL服务器。然后将数据库还原到WAMPServer附带的MySQL服务器。

选项2

将您的某个MySQL服务器使用的端口从3306更改为3307.然后,您可以在同一台计算机上运行2个MySQL服务器。 当然有两倍的内存开销

如果更改WAMPServer MySQL Server配置,则必须执行此操作:

编辑\wamp\bin\mysql\mysqlx.y.z\my.ini文件 将每个对端口3306的引用更改为3307。

编辑PHP.INI文件(使用WAMPManager菜单确保编辑正确的文件)。

更改此行,以便PHP知道您已将MySQL移至另一个端口

mysqli.default_port = 3306

mysqli.default_port = 3307

您可能遇到的问题 手动安装MySQL服务器时,它经常将my.ini或my.cnf放入C\WINDOWS\文件夹结构中。这是一个痛苦,因为一个my.ini将被机器上运行的任何MySQL服务器拾取并使用,因为MySQL使用它来查找它的ini文件的搜索顺序。

如果您的系统出现这种情况,则必须将该文件移回另一个(非WAMPServer)MySQL服务器安装的文件夹结构中。

简而言之在您的系统上只安装一个MySQL服务器要简单得多,至少在您对MySQL服务器及其操作变得更熟悉和经验之前。

你的第二个问题

2。来自MySQL的警告,事件ID 100 - “不推荐使用具有隐式DEFAULT值的TIMESTAMP。请使用--explicit_defaults_for_timestamp服务器选项

修改my.ini并在[wampmysqld]部分添加此行。

[wampmysqld]
explicit_defaults_for_timestamp

答案 1 :(得分:0)

我告诉你一个非常简单但很好的技巧。转到您的数据文件夹(在wamp:wamp-> bin-> mysql-> mysqlx.xx-> data。将三个默认文件(performance_schema,test,mysql)保留在该文件夹中,并将所有其他文件移至比重新启动所有服务。这次你注意到图标会变绿。现在将所有文件夹而不是文件移回数据文件夹,注意不要移动文件,只移动文件夹。重新启动你的mysql再次服务,文件将自动创建,一切都将按预期工作。

答案 2 :(得分:0)

<强>解决

我只是想让每个人都知道,我不再有这个问题了。

问题是由启用InnoDB

引起的

当我重新安装WampServer时,问题就消失了,之后我就可以毫无问题地启用InnoDB

答案 3 :(得分:0)

我尝试了所有解决方案,这是对我有用的解决方案:

  1. 右键单击您的WAMP图标
  2. 选择MySQL,在菜单中选择“使用3306以外的端口”
  3. 将端口号更改为“3307”
  4. 它应该变成绿色。