重启后 XAMPP MySQL 服务崩溃

2022-01-14 00:00:00 xampp mysql

我刚刚安装了一个XAMPP 7.3.6-2-VC15 for Win64,安装后就没事了,MySQL从控制面板启动没有错误,一切正常.

I just install a XAMPP 7.3.6-2-VC15 for Win64, and when i install it, it's fine, MySQL start from control panel without error, et all is ok.

重新启动我的电脑后,Apache 仍在工作,但 MySQL 拒绝启动!我尝试重新安装 XAMPP,但它完全一样.MySQL 工作正常,重启后停止工作.

After rebooting my PC, Apache is still working, but MySQL refuse to start ! I try to reinstall XAMPP, but it's exactly the same. MySQL Work fine, and stop working after reboot.

这是我仅有的几条日志...

Here is THe few log i have...

在控制面板中:

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:xamppmysqldataibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
2019-07-02  9:48:10 0 [Note] InnoDB: File 'C:xamppmysqldataibtmp1' 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:xamppmysqldataib_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 服务.所以,我在日志中有一些新行.似乎用户表已损坏...我该如何修复?

EDIT : I try to install as a windows service via admin panel as administrator. And so, i have some new lines in log. Seems user table is corrupted... how can i repair ?

2019-07-02 10:04:41 0 [ERROR] mysqld.exe: Table '.mysqluser' is marked as crashed and should be repaired
2019-07-02 10:04:41 0 [ERROR] mysqld.exe: Index for table '.mysqluser' 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:

Open shell from from control panel and start mysql with this command:

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

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

Open another shell from control panel and repair database with this command:

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

停止mysql,关闭shell并正常重启mysql.

Stop mysql, close shells and restart mysql normally.

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

相关文章