当我打开XAMPP并单击启动MySQL按钮时,它给了我一个错误。 我刚才启动了它,但现在它不工作了。

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

以下是错误日志的内容:

2013-08-02 12:19:12 4536 [Note] Plugin 'FEDERATED' is disabled. 2013-08-02 12:19:12 f64 InnoDB: Warning: Using innodb_additional_mem_pool_size is DEPRECATED. This option may be removed in future releases, together with the option innodb_use_sys_malloc and with the InnoDB's internal memory allocator. 2013-08-02 12:19:12 4536 [Note] InnoDB: The InnoDB memory heap is disabled 2013-08-02 12:19:12 4536 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions 2013-08-02 12:19:12 4536 [Note] InnoDB: Compressed tables use zlib 1.2.3 2013-08-02 12:19:12 4536 [Note] InnoDB: Not using CPU crc32 instructions 2013-08-02 12:19:12 4536 [Note] InnoDB: Initializing buffer pool, size = 16.0M 2013-08-02 12:19:12 4536 [Note] InnoDB: Completed initialization of buffer pool 2013-08-02 12:19:12 4536 [Note] InnoDB: Highest supported file format is Barracuda. 2013-08-02 12:19:12 4536 [Note] InnoDB: The log sequence numbers 0 and 0 in ibdata files do not match the log sequence number 1616798 in the ib_logfiles! 2013-08-02 12:19:12 4536 [Note] InnoDB: Database was not shutdown normally! 2013-08-02 12:19:12 4536 [Note] InnoDB: Starting crash recovery. 2013-08-02 12:19:12 4536 [Note] InnoDB: Reading tablespace information from the .ibd files...

最重要的错误信息在这里:

2013-08-02 12:19:12 4536 [ERROR] InnoDB: 试图打开先前打开的表空间。 以前的表空间mysql/innodb_table_stats在filepath: .\mysql\innodb_table_stats.ibd使用的是空间ID: 1。 在文件路径:.\xat\payments.ibd下无法打开空间ID: 1的表空间xat/payments

日志的其余部分:

InnoDB: Error: could not open single-table tablespace file .\xat\payments.ibd InnoDB: We do not continue the crash recovery, because the table may become InnoDB: corrupt if we cannot apply the log records in the InnoDB log to it. InnoDB: To fix the problem and start mysqld: InnoDB: 1) If there is a permission problem in the file and mysqld cannot InnoDB: open the file, you should modify the permissions. InnoDB: 2) If the table is not needed, or you can restore it from a backup, InnoDB: then you can remove the .ibd file, and InnoDB will do a normal InnoDB: crash recovery and ignore that table. InnoDB: 3) If the file system or the disk is broken, and you cannot remove InnoDB: the .ibd file, you can set innodb_force_recovery > 0 in my.cnf InnoDB: and force InnoDB to continue crash recovery here.

这些错误的原因是什么?我该如何纠正它们?


Apache - >配置- >打开httpd . conf。搜索监听或80,更新监听端口到8081保存并重新启动服务器。 哦,如果你有Skype,关掉它。


当我试图启动mysql时,我在我的C:\xampp\mysql\data\mysql_error.log中得到了同样的错误。

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

你必须仔细阅读错误。这说明test_database阻止mysql启动。

你可以清除这个有问题的数据库,以下步骤可以解决这个问题:

确保mysql和xampp完全关闭。 去你的mysql安装目录,我的是:C:\xampp\mysql\data 您应该看到一个文件夹,其名称为您创建的数据库。我的是test_database。 在其他地方创建一个名为C:\xampp\mysql\data\mysql\backuptablespace的新文件夹 将有问题的数据库表文件夹拖放到备份目录中(不要删除)。 重新启动mysql。对我来说,它像预期的那样在1秒内就开始了。

如果它不起作用,把文件放回你开始的地方,你就会回到你开始的地方。

如果你不想删除数据库并且没有备份:

如果你没有表数据的备份,mysql不会启动,因为某些东西损坏了,你将不得不使用消除的过程来猜测和检查你的方式,确切地说,你做了什么损坏了它。遵循以下步骤:

Make a clone of the entire C:\xampp\ and store it somewhere safe so you can get back to where you started. Use a "binary search" approach to try to locate the corrupted item in the mysql database. It could be a file, or a table, or a database, or a user or anything. Delete the entire database and see if that allows mysql to start. If it does, then put back the database and try removing some of the tables. If it doesn't, then try yanking out something else until it does start. Try removing these files from C:\xampp\mysql\data\mysql: db.frm db.MRD db.MYI db.opt user.frm user.MYD user.MYI When you get mysql to start, try putting things back until you find the one thing that you add which prevents it from starting. One bonus for this is you learn how mysql works under the hood.

核选项:

你搞砸了mysql服务器。卸载并重新安装XAMPP可以消除损坏。


重要提示:删除此文件可能导致任何现有的MySQL数据不可用。慎用

嘿,我刚做了这个,它起作用了:

退出Xampp服务器 转到C:\xampp\mysql\data目录 删除ibdata1文件 重新启动xampp服务器

应该可以


我也遇到过这个问题,我是这样解决的。 1. 确保xampp不在子目录下。例如,它应该是C:\xampp 2. 在运行应用程序时,您可能需要以管理员身份运行。

希望这能起作用!


当您不是以管理员身份运行XAMPP时,关闭MySQL经常会导致损坏,这意味着您必须修复或删除表。为了避免这种情况,您需要以管理员身份运行XAMPP,或者使用适当的命令提示符方法关闭MySQL。

您可以按照Kratos的建议删除ibdata1,但这可能会导致数据库损坏,因为数据库的其他部分仍然在/mysql/data/文件夹中。在我的例子中,这些残留数据阻止了我成功安装WordPress。

一个更干净的方法是恢复整个/mysql/data/文件夹。Windows有内置的文件夹版本控制-右键单击/mysql/data/并选择恢复以前的版本。然后可以删除文件夹的当前内容,并将其替换为旧版本的内容。

附录:为了确保您不会忘记以管理员身份运行XAMPP,您可以右键单击XAMPP快捷方式,转到属性,然后是高级,最后以管理员身份运行。


在mysql配置文件(my.ini)的[mysqld]部分下面添加以下一行,然后重新启动apache web服务器和mysql服务。

[mysqld]
innodb_force_recovery = 4

在我的情况下,我同步我的mysql数据和htdocs到dropbox,我只需要删除mysql/data文件夹和子文件夹中的冲突文件。dropbox会告诉你,有冲突的文件可以通过名称来识别。这为我解决了问题。


为此,您需要单击Modules Services下的x选项,并安装MYSQL服务。然后启动服务。给你。


对我来说,我退出了Skype,它占用了80端口,然后Apache在80端口上愉快地运行,然后我运行Skype,这次它选择了另一个端口。


进入mysql/data/目录 删除所有随机文件(除了实际的数据库文件夹) 重启Apache和MySQL。

它应该能解决这个问题。


我的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

请检查系统时间是否正确。我的时间设定在2040年,修正日期就解决了问题。


以下是我所做的。我重启了电脑。接下来运行services.msc。我停止MySQL服务,然后重新启动它。重新启动Xampp服务器。


上述解决方案对我来说都没用。然后我做了以下事情:

我删除了C:\xampp\mysql\data\目录下的所有文件,除了这个目录下的文件夹。 它工作得非常好,但我以前的数据库现在不能工作了。 所以,如果你不关心,上面会删除所有你以前的数据库在phpmyadmin。


如果崩溃信息是“mysql.exe已停止工作”。以管理员身份运行xampp-control.exe将立即解决您的问题。


如果以上任何一种方法都不起作用,制作Xampp目录的备份并重新安装Xampp。这当然有用!


我也面临着同样的问题,但上面提到的解决方案没有一个对我有帮助。 我去了mysql配置文件(my.ini),并更改了[mysqld]下的端口号。mysql默认运行在3306端口上。

port= 3306

我把它改成,

port= 8111

然后以管理员身份运行。最后这对我有用。


如果你正在使用MariaDB,你可以试试这个:

进入mysql/data/目录 将aria_log_control重命名为aria_log_control_old 重启“Mysql”


伙计们,请确保你没有安装MySql服务器。因为我已经预装了MySql服务器,当我从xampp控制面板启动MySql时,一些端口冲突正在发生,它不工作。所以在从xampp控制面板启动mysql之前,请确保mysql服务器没有安装。我使用。net,所以我在过去安装了mysql服务器。卸载它解决了我的问题....


我在mysql/bin/my.ini中注释了这个语句

'innodb_additional_mem_pool_size=2M'

它解决了我的问题。大家好


这意味着您已经在端口3306上运行了一个MySQL数据库。

在XAMPP控制面板中,按下“Config”按钮,然后按下“my.ini”。在此之后,按Ctrl-F并搜索“3306”。将您找到的任何“3306”替换为您选择的不同端口号(您可以选择3307或3308 -我选择了2811,它可以工作)。

在替换了所有写有“3306”的位置后,保存文件并再次按下控制面板上的“开始”。


重命名mysql/data中的以下文件 ib_logfile0 ib_logfile1 ibdata1

my.cnf innodb_buffer_pool_size到200M根据你的ram innodb_log_buffer_size为32M

重新启动apache服务器

希望对你有所帮助


我解决了!在安装xampp之前用msconfig禁用UAC


这是更精确的答案,对我来说很管用!!!!! 一个更干净的方法是恢复整个/mysql/data/文件夹。Windows有内置的文件夹版本控制-右键单击/mysql/data/并选择恢复以前的版本。然后可以删除文件夹的当前内容,并将其替换为旧版本的内容。 正如Ryan Williams所提到的。


进入任务管理器 然后搜索mysqld,右键单击并选择END TASK并刷新XAMPP


对我来说,问题是:

由于项目规模太大,我习惯将电脑休眠,而不是关闭。我太懒了,重新打开了所有程序。

在尝试其他方法之前,我建议您做以下简单的事情。否则,你的MySQL服务器就会一团糟。

打开任务管理器并结束XAMPP进程。 以管理员身份重新运行XAMPP应用程序。

如果不行,

保存所有未保存的程序,重新启动电脑。 以管理员身份运行XAMMP。

另外,一定要检查3306和5040端口。在默认设置下运行MySQL需要这两个端口。

查看@Ryan Williams的回答,了解为什么作为管理员运行XAMPP很好。


在我的情况下,我做了以下步骤,它是有效的:

在Xampp控制面板中,点击右边工具栏中的“服务”按钮 然后在服务列表中找到MySQL 点击它然后在面板左侧点击stop 回到Xampp控制面板,点击开始。


我已经通过结束任务管理器上mysqlid的任务解决了这个问题。


如果上面提到的答案不工作,您可以尝试删除数据中的所有文件,除了文件夹

转到: C:\xampp\mysql\data

后: Goto: C: \ xampp \ mysql \ bin

然后用记事本my.ini打开 它看起来是这样的。

然后删除或注释3306端口,并将其更改为8111,然后使用管理员运行xamp,其工作正常。


复制xampp/mysql/backup/中的所有文件,然后粘贴到/xampp/mysql/data/中 重新启动mysql。


0.cntr+alt+delet
1.end task mysqld
2.Restart mysql.


我删除了c:\xampp\mysql\data\中的所有文件,除了my.ini 这是可行的


移动xampp/mysql/backup文件到xampp/mysql/data 以管理员身份运行XAMPP(确保mysql已经安装,如果已经安装可以看到一个绿色的勾)

希望能有所帮助!


重要提示:不要删除ibdata1文件。你可以毁掉你所有的数据库。

相反,首先尝试使用XAMPP附带的MySQL备份文件夹。所以接下来的步骤:

将mysql/data文件夹重命名为mysql/data_old 复制mysql/backup文件夹,命名为mysql/data 将所有数据库文件夹从mysql/data_old复制到mysql/data(除了mysql, performance_schema和phpmyadmin文件夹) 将mysql/data_old/ibdata1文件拷贝到mysql/data文件夹中 从XAMPP控制面板启动MySQL

And,瞧!

编辑(2023年1月7日)

正如一些用户所提到的,这是一种紧急解决方案,而不是永久解决方案。在恢复数据后,强烈建议备份它,并重新安装XAMPP,因为失败与XAMPP的一些文件的故障有关,而不是数据库。


从C:\xampp\mysql创建一个备份你的mysql文件夹。 然后转到C:\xampp\mysql\backup复制所有文件并粘贴到C:\xampp\mysql\data中。

然后从你的旧备份文件夹中找到ibdata1文件,你可以在C:\xampp\mysql\data中找到它。复制此文件并粘贴到C:\xampp\mysql\data中。

现在重新启动xampp,它应该工作了。


There are a number of things I've tried. This is the 2nd time this has happened to me. On my first time, I've to reinstall my xampp. And on the third day, mysql crashed again. I've tried everything I found on the internet. Like, innodb_flush_method=normal in my.ini file and deleting ibdata1, ib_logfile1, ib_logfile0 files, and others but none of these works. So later I tried to run xampp with admin privilege and install apache and mysql as a service as it was instructed on xampp control panel itself. After starting mysql, I read error-log again and from there I came to know that one of my databases is responsible for this. That database file won't let mysql start. So I deleted everything in the data folder and then in cmd I navigated to C:/xampp/mysql/bin path and ran these commands:

mysqld——初始化

mysql_install_db

mysql又开始运行了。 但是我的数据库和数据丢失了。


我解决了类似的MySQL错误&我认为这个答案将帮助您修复相同类型的MySQL数据库错误。

解决方案:

进入mysql数据库的“data”目录。 我安装XAMPP在D:驱动器上的计算机和mysql的“数据”目录位置我的计算机是“D:\ XAMPP \mysql\data\”。你可能有不同的位置。

取备份MySQL“data”文件夹

首先,你应该创建一个备份的“数据”文件夹使用 任何压缩软件。 给出一个像“data_backup.zip”这样的名称或任何您希望的压缩类型。 我使用winrar压缩软件压缩备份mysql“data”文件夹。

重命名data文件夹

重命名" data "文件夹为" data-oldfiles "。将数据目录重命名为任何新的目录名称是非常重要的。

创建一个新的“data”文件夹

创建一个新文件夹,命名为data 为了解决这个问题,我们需要在mysql数据库中创建一个新的“data”目录。

从“备份”文件夹复制内容

进入“备份”文件夹,复制所有文件。 将备份文件夹中的文件粘贴到数据文件夹中 现在从XAMPP启动MySQL数据库。 您的MySQL数据库将正常启动,不会显示任何错误。

传输所有MySQL项目的数据库、数据文件和日志文件

If you have many database which was used for various projects, then you have to transfer all database from “data-oldfiles” folder to “data” folder. Copy all databases from the data-old files and paste to the data folder. Now you have to copy the data file “ibdata1” & all log files “ib_logfile0, ib_logfile1 ” from data-old files folder to the data folder. If you have many id_logiles then copied all of them. Now Start MySQL from XAMPP. Go to phpMyAdmin to check all databases are available & working. Now start your any website project from localhost to check the MySQL database.

问题解决了!!

现在,您将看到问题已经解决,错误消息“error: MySQL shutdown unexpected .”不会再出现。 如果你对这个问题有任何疑问,请在评论区提出任何问题。

你可以在下面的链接上阅读详细的教程: 错误:MySQL关机意外-解决方案在5个简单的步骤

你也可以观看视频教程来解决这个问题:

错误:MySQL异常关闭


对我有用的是(不删除文件):

首先,我在XAMPP面板中打开MySql日志。 最后,它说您正在3306端口运行mysqlid的另一个实例 我打开我的任务管理器(Ctrl+Shift+Esc),然后找到mysqlid和结束任务。


first of all, make a backup file of your database C:\xampp\mysql\data copy this file and past it somewhere in your pc. After this open, the data file and also open the XAMPP server try to delete the files step by step one by one after deleting each file try to run the MySQL server after deleting a single file as shown in the screenshot thus your databases won't delete. if the file deletion does not work then try to copy the same files from the backup folders and repeat this until it works... this is time taking but this worked for me I have solved this in 20 minutes.


如果这里列出的解决方案都不适合你和我一样,那么

进入任务管理器。 进入“服务”选项卡。 查找名为“MySQL80”的服务。 右键单击它并选择“stop”。 回到XAMPP控制面板,启动MySQL服务。

这对我很管用。


通过重新安装Xampp修复了它。

如果你不想经历对方提出的所有技术问题。

备份htdocs文件夹,然后卸载Xampp, 它会问你是否想保留htdocs文件夹,选择退出。 完全卸载, 移除残留物。 再次安装, 复制你备份的htdocs文件夹。

你就完成了。


如果没有一个文件的删除工作,那么可能你的mysql服务没有运行。 去做礼拜。启动mysql服务


打开C:\xampp\mysql\backup。

复制所有文件。

将它们粘贴到C:\xampp\mysql\data中。

如果Windows要求你替换某些文件,那就替换它们。

如果您的XAMPP控制窗格处于活动状态,请关闭它。

转到C:\xampp,找到xampp-control,运行它。

启动Apache,启动MySQL。


就是这样。

享受吧!


永远不要删除这个文件(ibdata1),因为您的所有数据都会被删除!! 我有三个建议:

答: 1-退出XAMPP控制面板。 1-重命名mysql/data文件夹为mysql/data_old(你可以使用任何名称) 创建一个新文件夹mysql/data 3-拷贝mysql/backup目录下的内容到新的mysql/data文件夹中 拷贝mysql/data_old目录下的所有数据库文件夹到mysql/data目录下(跳过data_old目录下的mysql、performance_schema和phpmyadmin文件夹) 5-最后从mysql/data_old复制ibdata1文件,并将其替换到mysql/data文件夹中 6-重新启动系统。

B: 1-停止所有sql服务。 2-接下来,再次启动所有sql服务。

C: 1-打开XAMPP控制面板 2-点击Config按钮,在mysql前面,点击my.ini 3-更改客户端端口和服务器端端口。


步骤1:完全关闭Xampp控制器 第二步:打开C:\xampp\mysql\backup 步骤3:从备份文件夹中拷贝所有文件 第四步:打开C:\xampp\mysql\data 第五步:粘贴数据文件夹中的所有文件 步骤6:重新启动Xampp控制器


我也遇到过同样的问题,但我所要做的就是关闭XAMPP控制面板,进入XAMPP安装的文件夹,找到XAMPP - Control .exe并以管理员身份运行,然后启动服务。


我也有这个问题,当我得到这个错误,去xampp->mysql->数据 然后删除所有其他没有文件夹的文件,不要删除文件夹, 然后运行xampp,启动mysql


下面是解决这个问题的方法:

打开C:\xampp\mysql\data 您将看到一个名为mysql/data的文件夹 将该文件夹从mysql/data重命名为mysql/data_not_useful任何你想给的名字。 创建一个名为mysql/data的新文件夹。 复制mysql/backup的所有文件,粘贴mysql/data。 现在转到mysql/data_not_useful并从那里复制文件ibdata1。 然后粘贴到mysql/data(你必须替换文件)。 重新启动xampp服务器。 现在运行你的mysql服务器。


解决方案:遵循下面列出的步骤。

步骤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文件夹)。 IMPORTATN注意:-请不要替换现有的文件,同时粘贴(点击跳过这些文件)

第5步。最后从mysql\data_bkp复制ibdata1文件,并将其替换到mysql\data文件夹中。

步骤6。从XAMPP控制面板启动MySQL。

而且,它已经完成了。没有数据库丢失,没有端口更改,没有以管理员身份运行,没有强制恢复,没有杀死mysqld进程,没有从以前的版本恢复,没有更多的错误。


Error: MySQL shutdown unexpectedly

This is the best answer 

1)Rename the folder mysql/data to mysql/data_old (you can use any name)
2)Create a new folder mysql/data
3)Copy the content that resides in mysql/backup to the new mysql/data folder
4)Copy all your database folders that are in mysql/data_old to mysql/data (skipping the mysql, performance_schema, and phpmyadmin folders from data_old)
5)Finally copy the ibdata1 file from mysql/data_old and replace it inside mysql/data folder
6)Start MySQL from XAMPP control panel

去:c: c: \xampp\mysql

将文件夹“data”重命名为“data_old”(可以使用任何名称) 创建新文件夹data 拷贝“backup”文件夹的内容到新的“data”文件夹中。 ***复制“data_old”的所有内容到“data”(跳过那些文件夹“mysql”,“performance_schema”和“phpmyadmin”)** *,而不替换目标文件(跳过这些文件)**

重启XAMPP 这是可行的


也有同样的问题。

STAEP 1

backup folder xampp/mysql/data (saved it as `xampp/mysql/_old_data`).

STAEP 2

去xampp/mysql/data,删除所有的文件,但没有文件夹!与数据库。

STAEP 3

At this stage your database will not work. You need to go to your backup folder `xampp/mysql/_old_data` and copy over "`ibdata1`" file to `xampp/mysql/data`.

之后,一切工作如预期,包括phpmyadmin和控制台。

STAEP 4

如果这没有帮助的话。可以删除xampp/mysql/data文件夹,并将xampp/mysql/_old_data重命名为xampp/mysql/data。 (ROLLBACK)尝试不同的东西。


如果你不需要损坏表中的数据,你可以通过丢弃表空间来删除它:

ALTER TABLE sakila.actor DISCARD TABLESPACE;

之后,你可以删除表本身:

DROP TABLE sakila.actor;

如果第一步不起作用,首先替换actor。从具有相同结构的空表中复制Ibd文件。


只需遵循两个步骤

进入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


# 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

打开C:\xampp\mysql\data中的my.ini文件

Skip-grant-tables将这一行放在端口和重新启动之前,它可以工作


停!请不要删除ibdata1文件!

删除这个文件就像用数据库玩俄罗斯轮盘赌,它可以工作并重新建立一切,但同时,它也可能使您拥有的所有数据库都无法使用。

相反,首先尝试使用XAMPP附带的MySQL备份文件夹。那么接下来做:

将mysql/data文件夹重命名为mysql/data_old(可以使用任何名称) 创建新文件夹mysql/data 将mysql/backup中的内容复制到新的mysql/data文件夹中 复制mysql/data_old目录下的所有数据库文件夹到mysql/data目录下(跳过data_old目录下的mysql、performance_schema和phpmyadmin文件夹)

最后:

从mysql/data_old中复制ibdata1文件,并将其替换到mysql/data文件夹中 从XAMPP控制面板启动MySQL


遵循以下步骤:-

进入C:\xampp\mysql 重命名数据文件夹data_old 创建一个新文件夹空数据文件夹 复制data_old中的所有文件并将它们粘贴到data文件夹中 复制备份文件夹中的所有文件并粘贴到数据文件夹中,然后替换所有文件 从data_old复制ibdata1文件,并将它们粘贴并替换到data文件夹中。 重新启动服务器

祝一切顺利!!


我也遇到过同样的问题。MySQL一打开就停止了。

日志上写着:-

10:31:21 [mysql]检测到问题! 10:31:21 [mysql] 3306端口被“无法打开进程”使用! 10:31:21 [mysql]如果没有配置的空闲端口,mysql将不会启动! 10:31:21 [mysql]你需要卸载/禁用/重新配置阻塞应用程序 10:31:21 [mysql]或重新配置mysql和控制面板侦听不同的端口

我停止了端口3306 wamp上正在运行的服务(在我的情况下),在那之后它工作得很好。 在配置设置中更改端口也可以工作。

YW!


2022年六月

免责声明

尽管很多人说“它起作用了”,但很少有人说“它没有作用”。

很难说是什么原因造成的,而且它也不起作用。就我个人而言,下面提供的解决方案对我有用,到目前为止我没有得到任何问题,因此我分享这个。

我不建议卸载,所以基本上可以备份文件并尝试此解决方案。如果它不起作用,那么重新放置这些文件。

参与过其他版本

这个问题也适用于其他xampp版本。 我本人没有进行过测试,但一些用户进行过测试。 (如果你在不同的版本上测试过,请在评论中告诉我,我会在这里添加)

XAMPP v8.1.6 - Saeid Z XAMPP v7.4.16 - CapelliC XAMPP v3.3.0 -我自己

2022年2月(问题)

我今天(2022年2月2日)也遇到了同样的问题。 我使用下面提到的相同解决方案修复了这个问题(参见2021年12月(解决方案))

XAMPP问题截图

XAMPP固定

2021年12月(方案)

因为这个问题是持续的, 我会尽我最大的努力去解决它。

我的问题

每当这个问题发生时,我都会访问这个帖子。我唯一尝试的是卸载xampp并重新安装它,这解决了问题。那是在我的旧系统上。

我使用的是全新的windows 10,没有多余的软件或问题,但我在很长一段时间后又意外关机了。我提出这个问题,希望有人能告诉我到底发生了什么,而不是解决这些问题。但不幸的是,我找不到它。

澄清一下,我的新杂志不是

港口 意外关闭 窗户卡住了 不需要的软件 病毒或恶意软件。

有一天我打开xampp,它停止工作了。

方法一(2021年12月22日)

停止MySQL。 转到C:/xampp/mysql目录,复制数据文件夹,并将其保存在其他地方(可能在另一个驱动器中)作为备份。 打开你的原始数据文件夹(C:/xampp/mysql),按“类型”对文件进行排序。 选择INFO File类型的文件并删除它们(下面的截图)。 启动MySQL。现在应该可以了。

方法1截图

重要的

上述解决方案并不一定能解决问题。有时不会。为了避免丢失数据的主要风险,请尝试以下方法。

只有在需要时才在控制面板中打开MySQL。 不要将XAMPP控制面板设置为windows启动状态。 尽可能备份数据库。如果没有,试着每个周末备份一下。

PS:每当上述方法不起作用时,我会尝试更新这个答案。我将尝试在不卸载XAMPP的情况下以最简单的方式解释它。

如果对你有用,请告诉我。


简单的解决方案

重命名xampp\mysql\data文件夹中的以下文件

 ib_logfile0
 ib_logfile1

或任何这样的日志文件

 ib_logfile0.bak
 ib_logfile1.bak

现在从xampp控件启动mysql。


Xampp启动后立即停止。

复制C:\xampp\mysql\backup中的所有文件和文件夹并粘贴到 C: \ mysql xampp \ \数据。


我尝试了上面所有的答案,但对我来说都不管用。所以最后我尝试了下面的方法,它100%适合我。

如果您担心无法执行以下步骤,为安全起见,您可以对整个XAMPP文件夹进行备份。

第一步:将c:\xampp\mysql\data文件夹重命名为c:\xampp\mysql\data_bkp

新建文件夹c:\xampp\mysql\data。

第三步:复制c:\xampp\mysql\backup中的内容到新的c:\xampp\mysql\data文件夹中。

第四步:复制所有数据库文件夹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。


四月更新(2022年)

将mysql/data文件夹重命名为mysql/data_old 复制mysql/backup文件夹,命名为mysql/data 将所有数据库文件夹和mysql文件夹从mysql/data_old复制到mysql/data 将mysql/data_old/ibdata1文件拷贝到mysql/data文件夹中

从XAMPP控制面板启动MySQL

参考

https://www.youtube.com/watch?v=ipMedkjMupw&ab_channel=GeekyScript


以上的解决方案没有一个是无效的。它只是暂时有效。几天后,我们又一次面对同样的问题。我每次都失去了所有的脑起搏器。

我不知道确切的答案。但是,我一遍又一遍地做这3个简单的步骤。

将文件夹c:\xampp\mysql\data重命名为c:\xampp\mysql\data_old(可以使用任何名称)。 新建data文件夹c:\xampp\mysql\data 复制mysql\data_old中的所有数据库文件夹到mysql\data中

然后从XAMPP控制面板启动MySQL。

解决了!我用这个方法来解决它:

从控制面板打开shell并启动mysql:

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

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

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

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

参见:https://stackoverflow.com/a/60576807/1662058


我也有同样的问题。溶液是杀灭过程 查找端口(3306)的PID

netstat -a -n -o | find "3306"

你会看到你需要的一切。

0.0.0.0:3306           0.0.0.0:0              LISTENING       8120   TCP    
0.0.0.0:33060          0.0.0.0:0              LISTENING       8120   TCP    
[::]:3306              [::]:0                 LISTENING  8120   TCP    
[::]:33060             [::]:0                 LISTENING  8120

PID为8120

执行如下命令

taskkill /PID 8120 /F

重新启动MySQL。会没事的。快乐的绳索。


尝试以下解决方案来解决这个问题。在执行此过程之前,将数据文件夹C:\xampp\mysql\data重命名为old_data。 然后在SQL文件夹中创建一个名为data的新文件夹。 将备份C:\xampp\mysql\backup文件夹中的所有文件和文件夹复制到data文件夹中。 在最后一步中,从old_data文件夹复制ibdata1文件和test文件夹,并将其放入data文件夹中。 现在运行程序并享受吧!


记住永远不要删除这个文件(ibdata1),因为您的所有数据都会被删除

1-停止所有运行xampp服务(apache,mysql,..等)

2-重命名xampp文件夹为xampp-old

3-安装新xampp

4-通过从这个路径复制这3个文件(ibdata1,ib_logfile0,ib_logfile1) +您在xampp-old中创建的数据库文件夹来恢复数据库

mysql xampp-old \ \数据

to

xampp mysql \ \数据

并接受替换文件

5-通过将xampp-old\htdocs传输到xampp\htdocs恢复编码文件

现在启动xampp,它将处理您的所有数据

注意:如果您需要编辑apache或mysql ini,请再次执行此操作


步骤01:如果启动XAMPP MySQL时出现错误, 按照以下步骤轻松解决这个问题。

步骤02:停止服务器并进入配置。

步骤03:打开my.ini文件。

步骤04:在记事本文本中找到这2个端口号。

步骤05:更改这两个端口号3306—> 3308或任何其他数字。

使用Ctrl+S保存文本文件后

步骤07:转到XAMPP安装文件夹并打开XAMPP文件夹。 步骤08:找到phpMyAdmin文件夹。

步骤09:打开phpMyAdmin文件夹,找到config.inc.php文件。

步骤10:Change Here端口号之前您在步骤05中修改的端口号。(如3008)和保存此文本文件。

步骤11:关闭所有文件后,转到XAMPP服务器。

步骤12:再次启动MySQL服务器。

步骤13:打开浏览器,输入URL——>> localhost 步骤14:进入PhpMyAdmin

步骤15:phpMyAdmin is Working normal Now。

如果启动Apache服务器时出现错误,

步骤01:停止服务器,并打开配置文件。

步骤02:在文本文件中找到这个Listen数字。

步骤03:将80更改为8000或任何其他值。并保存文本文件。

步骤04:保存文本文件后,打开XAMPP服务器并再次启动Apache服务器。

打开你的网页浏览器。 步骤06:输入localhost:8000

步骤07:现在你可以打开phpMyAdmin。

注意:更改Apache端口号后,必须在URL中的localhost:后面添加。

-----------谢谢大家-----------


10秒内解决

进入xampp文件夹中的mySql文件夹 重命名数据文件夹为data-old 创建新文件夹,命名为data 复制备份文件夹的所有内容到新的数据文件夹…

你可以出发了


你得到这个错误,因为你的sql端口3306正在忙(其他应用程序正在使用它)

停止3306进程(通过关闭该应用程序结束进程) 但是如何找到它?? 下载Microsoft的TCP查看器 打开应用程序并搜索SQL 您将看到SQL正在运行并使用3306端口 这就是为什么xampp的mysql无法运行的原因。

只需结束myql进程,就可以开始了 启动xampp的mysql,完成


进入xampp/mysql/data目录

将文件夹data重命名为data_backup 创建新文件夹数据 从备份文件复制到数据 从数据文件夹中删除ibdata1 将ibdata1从data_backup文件夹拷贝到data文件夹 将所有数据库从data_backup复制到data文件夹 重启xampp。它会开始工作


我也有同样的问题。 我的xampp控制面板将启动apache而不是mysql。 问题出在iblogfile中。 当你正在运行xampp/mysql时,你的电脑重新启动,而没有正确关闭innodb引擎。 进入xampp/mysql并删除

ib_logfile0

and

ib_logfile1

现在重新启动mysql,它应该工作。


转到任务管理器,结束正在运行的MySQL任务,并在XAMPP中重新启动MySQL


简单的解决方案 从Xampp控制面板打开外壳

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

然后再次打开另一个shell并运行

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

现在关闭两个shell并重新启动xampp。


我打开并清空存在于数据文件夹中的文件multi-master.info。这对我很管用。


Xampp密切 打开那个文件夹 只选择文件,而不是该目录下的文件夹 只删除文件,包括缓存的文件。 打开Xampp并开始。


当您已经使用3306端口时就会发生这种情况。只要改变服务器端口,问题就会解决。


在Xamp中打开MuSQL配置文件,修改端口号为3307 这对我很有用:)


首先从控制面板进入配置

然后将mysql的端口编辑为8111

然后转到:my.ini文件 C: \ xampp \ mysql \ bin

并使端口从3306到8111,然后保存

然后进入控制面板,停止apache 然后尝试用我的SQL再次打开它,它将与我一起工作