XAMPP MySQL 重启后服务崩溃

XAMPP MySQL service crash after reboot

我刚刚安装了一个XAMPP 7.3.6-2-VC15 for Win64,当我安装它时,没问题,MySQL从控制面板启动没有错误,一切正常。

重启我的 PC 后,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: '::'.

我尝试以下操作:

如果有人有想法...

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

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

这个对我有帮助:

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

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

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

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

停止 mysql,关闭 shells 并正常重启 mysql。

基于:Re: Corrupt mysql.users How to fix

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

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

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