当我启动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。
另外,我很确定我没有更改文件夹结构中的任何内容。
答案 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)
我尝试了所有解决方案,这是对我有用的解决方案:
它应该变成绿色。