Windows MYSQL上的XAMPP将启动然后突然停止,但APACHE正常工作

时间:2016-03-23 15:21:59

标签: php mysql apache xampp

好吧,我到处寻找解决方案,但没有一个能奏效。昨天,我的XAMPP工作得非常好。今天,我试图开始我的MySQL服务,它不起作用。让我更具体一点:这是XAMPP日志:

Attempting to start MySQL app...
9:54:00 AM  [mysql]     Status change detected: running
9:54:01 AM  [mysql]     Status change detected: stopped
9:54:01 AM  [mysql]     Error: MySQL shutdown unexpectedly.
9:54:01 AM  [mysql]     This may be due to a blocked port, missing dependencies, 
9:54:01 AM  [mysql]     improper privileges, a crash, or a shutdown by another >method.
9:54:01 AM  [mysql]     Press the Logs button to view error logs and check
9:54:01 AM  [mysql]     the Windows Event Viewer for more clues
9:54:01 AM  [mysql]     If you need more help, copy and post this
9:54:01 AM  [mysql]     entire log window on the forum

这是错误日志:

016-03-23 09:54:00 1d04 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.
160323  9:54:00 [Note] InnoDB: Using mutexes to ref count buffer pool pages
160323  9:54:00 [Note] InnoDB: The InnoDB memory heap is disabled
160323  9:54:00 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions
160323  9:54:00 [Note] InnoDB: Memory barrier is not used
160323  9:54:00 [Note] InnoDB: Compressed tables use zlib 1.2.3
160323  9:54:00 [Note] InnoDB: Not using CPU crc32 instructions
160323  9:54:00 [Note] InnoDB: Initializing buffer pool, size = 16.0M
160323  9:54:00 [Note] InnoDB: Completed initialization of buffer pool
160323  9:54:00 [Note] InnoDB: Highest supported file format is Barracuda.
160323  9:54:00 [Note] InnoDB: The log sequence numbers 1665234 and 1665234 in ibdata files do not match the log sequence number 2110930 in the ib_logfiles!
160323  9:54:00 [Note] InnoDB: Database was not shutdown normally!
160323  9:54:00 [Note] InnoDB: Starting crash recovery.
160323  9:54:00 [Note] InnoDB: Reading tablespace information from the .ibd files...
160323  9:54:00 [Note] InnoDB: Restoring possible half-written data pages 
160323  9:54:00 [Note] InnoDB: from the doublewrite buffer...
160323  9:54:01 [Note] InnoDB: 128 rollback segment(s) are active.
160323  9:54:01 [Note] InnoDB: Waiting for purge to start
160323  9:54:01 [Note] InnoDB:  Percona XtraDB (http://www.percona.com) 5.6.22-72.0 started; log sequence number 2110930
160323  9:54:01 [Note] Plugin 'FEEDBACK' is disabled.
160323  9:54:01 [Note] Server socket created on IP: '::'.

Apache工作正在运行btw。我尝试过的事情:

删除ibdata1文件。 更改my.ini中的端口。 Skype没有运行。 停止万维网发布服务。

2 个答案:

答案 0 :(得分:0)

好的,我自己弄清楚了。所以我查看了Windows事件查看器,发现一些错误来自MySQL。我点击了最近的一个,发现了这个。

  

mysqld.exe:表'。\ mysql \ db'被标记为崩溃,最后(自动?)修复失败

我替换了所有db文件:db.frm,db。 MYD和db.MYI(以防万一)将这些内容复制到桌面上。而且中提琴再次起作用。所有的数据都存在,甚至是我记得昨天插入的数据。

答案 1 :(得分:0)

在我的情况下,这是因为我安装了MySQL Workbench,它也使用端口3306自己安装MySQL。 因此,有2个MySQL安装,并且都尝试使用端口3306。Workbench似乎优先。

更改XAMPP MySQL以使用端口3308是最简单的。

  • 在XAMPP控制面板中:停止Apache和MySql。
  • 编辑my.ini(在某些MySql安装中为my.cnf;在其他my.ini中)
    它的位置将取决于您安装XAMPP的位置。在我的系统上,我在T:\xampp\mysql\bin\my.ini上找到了它。 (我的系统上MySQL Workbench的类似文件位于``)
  • 搜索3306(或port);替换为3308
    我在2个地方用port = 3306替换行:port = 3308
  • 保存
  • 从XAMPP控制面板:启动Apache和MySql