XAMPP MySQL 服务重启后崩溃

问题描述 投票:0回答:3

我刚刚安装了一个用于Win64的XAMPP 7.3.6-2-VC15,当我安装它时,一切都很好,MySQL从控制面板启动没有错误,等等一切都ok。

重新启动电脑后,Apache 仍在工作,但 MySQL 拒绝启动!我尝试重新安装XAMPP,但还是一样。 MySQL 工作正常,重启后停止工作。

这是我有的几篇日志...

在控制面板中:

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

并在日志文件中:

2019-07-02  9:48:10 0 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions
2019-07-02  9:48:10 0 [Note] InnoDB: Uses event mutexes
2019-07-02  9:48:10 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
2019-07-02  9:48:10 0 [Note] InnoDB: Number of pools: 1
2019-07-02  9:48:10 0 [Note] InnoDB: Using SSE2 crc32 instructions
2019-07-02  9:48:10 0 [Note] InnoDB: Initializing buffer pool, total size = 16M, instances = 1, chunk size = 16M
2019-07-02  9:48:10 0 [Note] InnoDB: Completed initialization of buffer pool
2019-07-02  9:48:10 0 [Note] InnoDB: Starting crash recovery from checkpoint LSN=1834407
2019-07-02  9:48:10 0 [Note] InnoDB: 128 out of 128 rollback segments are active.
2019-07-02  9:48:10 0 [Note] InnoDB: Removed temporary tablespace data file: "ibtmp1"
2019-07-02  9:48:10 0 [Note] InnoDB: Creating shared tablespace for temporary tables
2019-07-02  9:48:10 0 [Note] InnoDB: Setting file 'C:\xampp\mysql\data\ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
2019-07-02  9:48:10 0 [Note] InnoDB: File 'C:\xampp\mysql\data\ibtmp1' size is now 12 MB.
2019-07-02  9:48:10 0 [Note] InnoDB: Waiting for purge to start
2019-07-02  9:48:10 0 [Note] InnoDB: 10.3.16 started; log sequence number 1834416; transaction id 265
2019-07-02  9:48:10 0 [Note] InnoDB: Loading buffer pool(s) from C:\xampp\mysql\data\ib_buffer_pool
2019-07-02  9:48:10 0 [Note] InnoDB: Buffer pool(s) load completed at 190702  9:48:10
2019-07-02  9:48:10 0 [Note] Plugin 'FEEDBACK' is disabled.
2019-07-02  9:48:10 0 [Note] Server socket created on IP: '::'.

我尝试以下方法:

  • 更改端口为 3306 以外的端口 => 未成功
  • 以管理员身份运行 xamp 控制面板 => 没有成功
  • 删除临时表 ibdata1 和 ibtmp1 => 没有成功

如果有人有想法...

编辑:我尝试以管理员身份通过管理面板安装为 Windows 服务。所以,我的日志中有一些新行。似乎用户表已损坏...我该如何修复?

2019-07-02 10:04:41 0 [ERROR] mysqld.exe: Table '.\mysql\user' is marked as crashed and should be repaired
2019-07-02 10:04:41 0 [ERROR] mysqld.exe: Index for table '.\mysql\user' is corrupt; try to repair it
2019-07-02 10:04:41 0 [ERROR] Couldn't repair table: mysql.user
2019-07-02 10:04:41 0 [ERROR] Fatal error: Can't open and lock privilege tables: Index for table 'user' is corrupt; try to repair it
mysql xampp
3个回答
30
投票

这个对我有帮助:

从控制面板打开 shell 并使用以下命令启动 mysql:

mysqld –-console –-skip-grant-tables –-skip-external-locking

从控制面板打开另一个 shell 并使用以下命令修复数据库:

mysqlcheck -r --databases mysql --use-frm

停止mysql,关闭shell并正常重新启动mysql。

基于:回复:损坏的 mysql.users 如何修复


24
投票

我和你一样遇到这个问题。我已经解决了这个问题,如下所示。

Copy from xampp/mysql/backup folder and paste in xampp/mysql/data folder except ibdata1 file. 

如果您从 xampp/mysql/data 替换 ibdata1 文件,那么某些数据库您将收到错误表不存在。


0
投票

这个对我有帮助:

从控制面板打开 shell 并使用以下命令启动 mysql:

mysqld –-console –-skip-grant-tables –-skip-external-locking

从控制面板打开另一个 shell 并使用以下命令修复数据库:

mysqlcheck -r --数据库 mysql --use-frm

© www.soinside.com 2019 - 2024. All rights reserved.