无法运行 XAMPP - MySql

Sha*_*k44 12 xampp

当我尝试启动 XAMPP - MySql 时它不起作用。我已经尝试修复它,但我找不到任何实际的解决方案,我希望你能找到它的问题所在。

有日志:

2019-06-26  9:08:35 0 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions
2019-06-26  9:08:35 0 [Note] InnoDB: Uses event mutexes
2019-06-26  9:08:35 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
2019-06-26  9:08:35 0 [Note] InnoDB: Number of pools: 1
2019-06-26  9:08:35 0 [Note] InnoDB: Using SSE2 crc32 instructions
2019-06-26  9:08:35 0 [Note] InnoDB: Initializing buffer pool, total size = 16M, instances = 1, chunk size = 16M
2019-06-26  9:08:35 0 [Note] InnoDB: Completed initialization of buffer pool
2019-06-26  9:08:35 0 [Note] InnoDB: Setting file 'C:\xampp\mysql\data\ibdata1' size to 10 MB. Physically writing the file full; Please wait ...
2019-06-26  9:08:35 0 [Note] InnoDB: File 'C:\xampp\mysql\data\ibdata1' size is now 10 MB.
2019-06-26  9:08:35 0 [Note] InnoDB: Setting log file C:\xampp\mysql\data\ib_logfile101 size to 5242880 bytes
2019-06-26  9:08:35 0 [Note] InnoDB: Setting log file C:\xampp\mysql\data\ib_logfile1 size to 5242880 bytes
2019-06-26  9:08:36 0 [Note] InnoDB: Renaming log file C:\xampp\mysql\data\ib_logfile101 to C:\xampp\mysql\data\ib_logfile0
2019-06-26  9:08:36 0 [Note] InnoDB: New log files created, LSN=45786
2019-06-26  9:08:36 0 [Note] InnoDB: Doublewrite buffer not found: creating new
2019-06-26  9:08:36 0 [Note] InnoDB: Doublewrite buffer created
2019-06-26  9:08:36 0 [Note] InnoDB: 128 out of 128 rollback segments are active.
2019-06-26  9:08:36 0 [Note] InnoDB: Creating foreign key constraint system tables.
2019-06-26  9:08:36 0 [Note] InnoDB: Creating tablespace and datafile system tables.
2019-06-26  9:08:36 0 [Note] InnoDB: Creating sys_virtual system tables.
2019-06-26  9:08:36 0 [Note] InnoDB: Removed temporary tablespace data file: "ibtmp1"
2019-06-26  9:08:36 0 [Note] InnoDB: Creating shared tablespace for temporary tables
2019-06-26  9:08:36 0 [Note] InnoDB: Setting file 'C:\xampp\mysql\data\ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
2019-06-26  9:08:36 0 [Note] InnoDB: File 'C:\xampp\mysql\data\ibtmp1' size is now 12 MB.
2019-06-26  9:08:36 0 [Note] InnoDB: Waiting for purge to start
2019-06-26  9:08:36 0 [Note] InnoDB: 10.3.16 started; log sequence number 0; transaction id 7
2019-06-26  9:08:36 0 [Note] Plugin 'FEEDBACK' is disabled.
2019-06-26  9:08:36 0 [Note] Server socket created on IP: '::'.
2019-06-26  9:08:36 0 [ERROR] mysqld.exe: Table '.\mysql\user' is marked as crashed and should be repaired
2019-06-26  9:08:36 0 [ERROR] mysqld.exe: Index for table '.\mysql\user' is corrupt; try to repair it
2019-06-26  9:08:36 0 [ERROR] Couldn't repair table: mysql.user
2019-06-26  9:08:36 0 [ERROR] Fatal error: Can't open and lock privilege tables: Index for table 'user' is corrupt; try to repair it
Run Code Online (Sandbox Code Playgroud)

Tob*_*oba 52

这是因为C:\xampp\mysql\data\mysql 中的一些文件被破坏了。

解决方案

  1. 备份C:\xampp\mysql\data
  2. 复制所有文件C:\xampp\mysql\backup
  3. 粘贴并在替换现有的文件:C:\ XAMPP \ MySQL的\数据除了ibdata1中的文件。
    离开ibdata1将有助于防止表不存在错误。

  • 这个对我有用。与其他答案相比,这个答案有最清晰、最彻底的解释。谢谢 (3认同)
  • 你是救星,这是我尝试过的唯一有效的方法。 (2认同)

nou*_*ero 32

解决方案只是一个

Copy From ...xampp/mysql/backup/... of all files and paste into .../xampp/mysql/data/  -> you will lost your data

Just copy the folder From ...xampp/mysql/backup/ & Paste into .../xampp/mysql/data/  -> this will help to run Mysql & existing database is working
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,这对我有用,但我从备份中复制 **仅文件夹** 因为当我从备份中复制并粘贴所有内容时,mysql 工作正常,但数据从我的数据库中丢失 (3认同)
  • 有人可以对此做出解释吗? (2认同)
  • 建议大家尝试一下 Laragon 确实更强大,https://larragon.org/ (2认同)

Ous*_*maa 19

我以前也遇到过这种情况,解决方案非常简单。请仔细阅读所有步骤:

  1. 对此文件夹C:\xampp\mysql\data进行备份(确保备份文件夹的名称不是backup)。
  2. 现在复制C:\xampp\mysql\backup中除ibdata1之外的所有文件/文件夹,以避免表不存在的错误。
  3. 将所有复制的文件/文件夹粘贴到C:\xampp\mysql\data

希望您的问题能够得到解决。


Pra*_*war 9

从 xampp/mysql/backup/ 复制所有文件和文件夹并将其粘贴到 xampp/mysql/data/。如果要求替换,请单击全部替换


Kvv*_*dha 6

@tobiloba 的解决方案是临时的。我有类似的问题。并通过他的解决方案暂时解决。但下次mysql启动时。它失败了。因为我需要保留我的数据并打开 mysql 服务器来运行它。

从xampp/mysql/bin/my.conf打开 my.conf并找到这两行。

innodb_buffer_pool_size=10M
Run Code Online (Sandbox Code Playgroud)

将其更改为 30M 0r 50MB。然后

 innodb_data_file_path=ibdata1:20M:autoextend
Run Code Online (Sandbox Code Playgroud)

也改变这个

 innodb_data_file_path=ibdata1:60M:autoextend
Run Code Online (Sandbox Code Playgroud)

对我来说,它永久地解决了问题,并使我现有的数据保持活力,并且之后工作正常。

  • 就我而言,文件位置是 bin/my.ini,以防万一您找不到 my.conf 文件。 (2认同)