当我打开XAMPP并单击启动MySQL按钮时它会给我一个错误.我刚刚开始它,但现在它不起作用.
12:19:12 PM [mysql]尝试启动MySQL应用程序...
12:19:12 PM [mysql]检测到状态更改:运行
12:19:13 PM [mysql]检测到状态更改:已停止
12:19:13 PM [mysql]错误:MySQL意外关闭.
12:19:13 PM [mysql]这可能是由于端口被阻塞,缺少依赖关系,
12:19:13 PM [mysql]不正当的权限,崩溃,或者是由另一种方法关闭
12:19:13 PM [mysql] ]按Logs按钮查看错误日志并查看
12:19:13 PM [mysql] Windows事件查看器以获取更多线索
12:19:13 PM [mysql]如果您需要更多帮助,请复制并发布此
12:19: 13 PM [mysql]论坛上的整个日志窗口
以下是错误日志的内容:
2013-08-02 12:19:12 4536 [注意]插件'FEDERATED'被禁用.
2013-08-02 12:19:12 f64 InnoDB:警告:使用innodb_additional_mem_pool_size是DEPRECATED.在将来的版本中可以删除此选项,以及选项innodb_use_sys_malloc和InnoDB的内部内存分配器.
2013-08-02 12:19:12 4536 [注意] InnoDB:InnoDB内存堆被禁用
2013-08-02 12:19:12 4536 [注意] InnoDB:Mutexes和rw_locks使用Windows互锁功能
2013-08-02 12:19:12 4536 [注意] InnoDB:压缩表使用zlib 1.2.3
2013-08-02 12:19:12 4536 [注意] InnoDB:不使用CPU crc32指令
2013-08-02 12:19:12 4536 [注意] InnoDB:初始化缓冲池,大小= 16.0M
2013-08-02 12:19:12 4536 [注意] InnoDB:缓冲池初始化完成
2013-08-02 12:19:12 4536 [注意] InnoDB:最高支持的文件格式是Barracuda.
2013-08-02 12:19:12 4536 [注意] InnoDB:ibdata文件中的日志序列号0和0与ib_logfiles中的日志序列号1616798不匹配!
2013-08-02 12:19:12 4536 [注意] InnoDB:数据库没有正常关机!
2013-08-02 12:19:12 4536 [注意] InnoDB:开始崩溃恢复.
2013-08-02 12:19:12 4536 [注意] InnoDB:从.ibd文件中读取表空间信息...
最重要的错误消息是:
2013-08-02 12:19:12 4536 [错误] InnoDB:
尝试打开以前打开的表空间.
以前的表空间mysql/innodb_table_stats在文件路径中使用空格ID:1:.\ mysql\innodb_table_stats.ibd.
无法打开在文件路径中使用空格ID:1的表空间xat/payments:.\ xat\payments.ibd
其余的日志:
InnoDB:错误:无法打开单表表空间文件.\ xat\payments.ibd
InnoDB:我们不继续崩溃恢复,因为表可能会成为
InnoDB:如果我们无法将InnoDB日志中的日志记录应用到它中,则会损坏它.
InnoDB:解决问题并启动mysqld:
InnoDB:1)如果文件中存在权限问题而mysqld不能
InnoDB:打开文件,则应修改权限.
InnoDB:2)如果不需要表,或者你可以从备份中恢复它,
InnoDB:那么你可以删除.ibd文件,InnoDB将执行正常的
InnoDB:崩溃恢复并忽略该表.
InnoDB:3)如果文件系统或磁盘坏了,你无法删除
InnoDB:.ibd文件,你可以在my.cnf
InnoDB中设置innodb_force_recovery> 0 :并强制InnoDB在这里继续崩溃恢复.
造成这些错误的原因是什么?如何纠正错误?
Fab*_*cia 838
停止!请不要删除
ibdata1文件!
删除此文件就像用您的数据库玩俄罗斯轮盘赌,它可以工作并重建所有内容,但也可能会使您拥有的每个数据库都无法使用。
相反,首先尝试使用XAMPP 附带的MySQL 备份文件夹。所以做下一个:
mysql/data为mysql/data_old(您可以使用任何名称)mysql/datamysql/backup到新mysql/data文件夹中mysql/data_old向mysql/data (跳过mysql,performance_schema和phpmyadmin从文件夹中data_old)ibdata1文件mysql/data_old并将其替换到mysql/data文件夹中而且,瞧!
小智 165
嘿,我刚刚做了这个并且它有效:
C:\xampp\mysql\data目录ibdata1文件它应该工作
Dex*_*ter 134
尽管很多人说“它有效”,但很少有人说“它没有”。
很难说原因是什么,而且它不起作用。就我个人而言,下面提供的解决方案对我有用,到目前为止我没有遇到任何问题,因此我分享这个。
我不建议卸载,因此您基本上可以备份文件并尝试此解决方案。如果不起作用,请重新放置这些文件。
此问题也适用于其他 XAMPP 版本。我没有亲自测试过,但有些用户测试过。 (如果您在不同版本上进行过测试,请在评论中告诉我,我将在此处添加)
我今天(2022 年 2 月 2 日)遇到了同样的问题。我使用下面提到的相同解决方案修复了此问题(参见2021 年 12 月(解决方案))
由于这个问题一直很活跃,我会尽力解决它。
每次出现这个问题我都会访问这个帖子。我唯一尝试的就是卸载 XAMPP 并重新安装它,这解决了问题。那是在我的旧系统上。
我正在使用全新的 Windows 10,没有任何不需要的软件或问题,但在很长一段时间后我再次意外关机。我提出这个问题,希望有人能告诉我到底发生了什么,而不是解决这些问题。但不幸的是,我找不到它。
只是为了澄清,我的新问题不是
有一天我打开 XAMPP,它停止工作了。
C:/xampp/mysql目录并复制该data文件夹并将其保存在其他位置(可能在另一个驱动器中)作为备份。data文件夹 ( C:/xampp/mysql) 并按“类型”对文件进行排序。INFO File并将其删除(下面的屏幕截图)。上述解决方案不一定能解决问题。有时不会。为了避免丢失数据的主要风险,请尝试这些。
PS:每当上述方法不起作用时,我会尝试更新此答案。我将尝试在不卸载 XAMPP 的情况下以最简单的方式解释它。
Mat*_*nte 40
如果上面提到的答案不起作用,您可以尝试删除数据中的所有文件,文件夹除外
转到:C:\xampp\mysql\data
之后:转到:C:\xampp\mysql\bin
然后用记事本my.ini打开 ,它看起来像这样。
然后删除或注释3306端口并将其更改为8111,然后以管理员身份运行xamp并且它工作正常。
Naz*_*que 37
只需按照两个步骤
转到 xampp\mysql\backup 复制备份文件夹中的所有内容
转到 xampp\mysql\data 粘贴从备份文件夹复制的数据文件夹中的所有内容
就这样。
另请按照视频说明进行修复,而不会丢失任何数据:
https://www.youtube.com/watch?v=hB1wshpP3Jc
或者按照文章描述进行修复,不会丢失任何数据:
https://webjourney.dev/error-mysql-shutdown-unexpectedly-solve-without-loosing-any-data-webjourney
Joh*_*ero 35
从 XAMPP 控制面板启动 MySQL
参考
https://www.youtube.com/watch?v=ipMedkjMupw&ab_channel=GeekyScript
Yas*_*jaz 30
简单的解决方案:从 XAMPP 控制面板打开 shell:
mysqld --console --skip-grant-tables --skip-external-locking
Run Code Online (Sandbox Code Playgroud)
然后再次打开另一个shell并运行
mysqlcheck -r --databases mysql --use-frm
Run Code Online (Sandbox Code Playgroud)
现在关闭两个 shell 并重新启动 XAMPP。
Ker*_*rim 28
它应该解决它.
aog*_*aog 14
[mysqld]在mysql配置文件(my.ini)中的部分下面添加以下行,然后重新启动apache web服务器和mysql服务.
[mysqld]
innodb_force_recovery = 4
Run Code Online (Sandbox Code Playgroud)
mat*_*ict 14
我的Xampp MySQL工作如下:
01.Go to mysql/data/ directory
02. delete the ibdata1 & ib_logfile*(ib_logfile0,ib_logfile1,ib_logfile101) file
03. restart xampp server
Run Code Online (Sandbox Code Playgroud)
Sou*_*rik 14
我已经尝试了之前的所有答案,但它对我不起作用。所以最后我尝试了下面的方法,它对我来说 100% 有效。
如果您担心执行以下步骤,为了安全起见,您可以备份整个XAMPP 文件夹。
步骤 1:将 c:\xampp\mysql\data 文件夹重命名为 c:\xampp\mysql\data_bkp
步骤2:创建一个新文件夹c:\xampp\mysql\data。
步骤 3:将 c:\xampp\mysql\backup 中的内容复制到新的 c:\xampp\mysql\data 文件夹中。
步骤 4:将所有数据库文件夹 c:\xampp\mysql\data_bkp 复制到 c:\xampp\mysql\data (注意:不要复制 mysql、performance_schema 和 phpmyadmin 文件夹)。
步骤 5:从 c:\xampp\mysql\data_bkp 复制 ibdata1 文件并将其替换到 c:\xampp\mysql\data 文件夹中。
第 6 步:从 XAMPP 控制面板启动 MySQL。
Eri*_*ski 11
C:\xampp\mysql\data\mysql_error.log在尝试启动mysql时,我遇到了同样的错误.
2013-08-05 01:20:32 6780 [ERROR] InnoDB: Attempted to open a previously
opened tablespace. Previous tablespace mysql/slave_relay_log_info uses
space ID: 3 at filepath: .\mysql\slave_relay_log_info.ibd. Cannot open
tablespace test_database/test_table which uses space ID: 3 at filepath:
.\test_database\test_table.ibd
Run Code Online (Sandbox Code Playgroud)
你必须仔细阅读错误.这说test_database是阻止mysql启动.
您可以吹走有问题的数据库,这些步骤可以解决问题:
C:\xampp\mysql\datatest_database.C:\xampp\mysql\data\mysql\backuptablespace如果它不起作用,请将文件放回到您开始的位置,然后您将返回到开始位置.
如果您不想删除数据库但没有备份:
如果你没有表数据的备份,并且mysql将无法启动,因为某些东西已经损坏,你将不得不使用消除过程进行猜测并检查你的确切方法,以确定你所做的那些损坏它的方法.跟着这些步骤:
C:\xampp\并将其存储在安全的地方,以便您可以回到开始的地方.尝试从以下位置删除这些文件C:\xampp\mysql\data\mysql:db.frm db.MRD db.MYI db.opt user.frm user.MYD user.MYI
当你启动mysql时,尝试放回去,直到找到你添加的一件阻止它启动的东西.这方面的一个好处是你可以了解mysql的工作原理.
核选择:
你做的事搞砸了mysql服务器.卸载并重新安装XAMPP应该可以撤消损坏.
Rya*_*ams 10
当您不以管理员身份运行XAMPP时,经常关闭MySQL会导致损坏,这意味着您必须修复或删除表.要避免这种情况,您需要以管理员身份运行XAMPP,或使用正确的命令提示符方法关闭MySQL.
您可以ibdata1像Kratos建议的那样删除,但是这可能会使您的数据库损坏,因为数据库的其他部分仍在/mysql/data/文件夹中.就我而言,这些残留数据阻止了我成功安装WordPress.
更清除损坏的方法是还原整个/mysql/data/文件夹.Windows具有内置文件夹版本控制 - 右键单击/mysql/data/并选择Restore previous versions.然后,您可以删除该文件夹的当前内容,并将其替换为旧版本的内容.
附录:为了确保您不要忘记以管理员身份运行XAMPP,您可以右键单击XAMPP快捷方式,转到Properties,然后Advanced,最后勾选Run as administrator.
Roh*_*ini 10
工作解决方案:- 按照下面列出的步骤。
第 1 步。将文件夹 c:\xampp\mysql\data 重命名为 c:\xampp\mysql\data_bkp(您可以使用任何名称)。
第 2 步。创建一个新文件夹 c:\xampp\mysql\data。
第 3 步。将驻留在 mysql\backup 中的内容复制到新的 mysql\data 文件夹中。
第 4 步。将 mysql\data_bkp 中的所有数据库文件夹复制到 mysql\data(跳过 mysql\data_bkp 中的 mysql、performance_schema 和 phpmyadmin 文件夹)。
重要提示:- 请不要在粘贴时替换现有文件(点击跳过这些文件)

步骤5.最后从mysql\data_bkp 复制ibdata1 文件并将其替换到mysql\data 文件夹中。
第 6 步。从 XAMPP 控制面板启动 MySQL。
并且,它完成了。没有数据库丢失,没有端口改变,没有以管理员身份运行,没有强制恢复,没有杀死 mysqld 进程,没有从以前的版本恢复,没有更多的错误。
小智 8
步骤 1:完全关闭 Xampp 控制器
步骤 2:打开 C:\xampp\mysql\backup
步骤 3:从备份文件夹复制所有文件
步骤 4:打开 C:\xampp\mysql\data
步骤 5:粘贴所有文件数据文件夹
第6步:重新启动Xampp控制器
小智 8
停止!请不要删除ibdata1文件!
删除此文件就像在数据库中玩俄罗斯轮盘赌一样,它可以正常工作并重新建立所有内容,但也可能使您拥有的每个数据库都无法使用。
相反,首先尝试使用backupXAMPP 附带的 MySQL 文件夹。所以执行下一步:
mysql/data为mysql/data_old(您可以使用任何名称)mysql/datamysql/backup在新mysql/data文件夹中的内容复制到mysql/data_old(mysql/data跳过mysql、performance_schema和phpmyadmin文件夹data_old)最后:
ibdata1文件mysql/data_old并将其替换到mysql/data文件夹内在我的情况下,我做了以下步骤并且它起作用了:
在 Xampp 控制面板中,单击右侧工具栏中的“服务”按钮
然后从服务列表中找到“MySQL”
单击它,然后从面板左侧单击“停止”
返回 Xampp 控制面板并单击开始。
小智 6
切勿删除此文件 ( ibdata1),因为您的所有数据都将被删除!!!
我建议三种方式:
A:
1- 从 退出XAMPP control panel。
1 -重命名文件夹mysql/data来mysql/data_old(你可以使用任何名字)
2 -创建一个新的文件夹中mysql/data
的3-复制内容驻留在mysql/backup新的mysql/data文件夹
4-复制所有数据库文件夹是在mysql/data_old向mysql/data(跳过了MySQL,performance_schema和data_old 中的 phpmyadmin 文件夹)
5- 最后ibdata1从中复制文件mysql/data_old并将其替换到其中mysql/data folder
6- 重新启动系统。
B :
1- 停止所有 sql 服务。
2-接下来,再次启动所有sql服务。

C :
1-打开XAMPP控制面板
2-点击Config按钮,在mysql前面,点击my.ini

3-更改客户端端口和服务器端口。

您可以通过以下方法解决此问题:
C:\xampp\mysql\data转到 xampp/mysql/data
小智 5
上述解决方案对我不起作用。然后我做了下面的事情:
我删除了 C:\xampp\mysql\data\ 目录中的所有文件(该目录中的文件夹除外)。它工作得很好,但我以前的数据库现在不工作了。因此,如果您不关心,请执行上述操作,它将删除您以前在 phpmyadmin 中的所有数据库。
希望能帮助到你!
小智 5
# The MySQL server
default-character-set=utf8mb4
[mysqld]
skip-grant-tables // Place this line here
port=3306
socket="C:/xampp/mysql/mysql.sock"
basedir="C:/xampp/mysql"
tmpdir="C:/xampp/tmp"
datadir="C:/xampp/mysql/data"
pid_file="mysql.pid"
# enable-named-pipe
key_buffer=16M
max_allowed_packet=1M
sort_buffer_size=512K
net_buffer_length=8K
read_buffer_size=256K
Run Code Online (Sandbox Code Playgroud)
从 C:\xampp\mysql\data打开my.ini文件
Skip-grant-tables将此行放在端口之前并重新启动并且它可以工作
| 归档时间: |
|
| 查看次数: |
481332 次 |
| 最近记录: |