【问题标题】:XAMPP MySQL have started to shuts down unexpectedly when opening one page打开一页时,XAMPP MySQL 已开始意外关闭
【发布时间】:2021-07-11 20:32:45
【问题描述】:

你好! :D

我正在制作一个网站以获取乐趣,并且在下班几个小时后,当我返回时,每次打开网站的一个页面时都会遇到意外的关闭错误。

使用数据库的其他页面工作正常,我遇到问题的确切页面也可以正常工作,就像我上次处理它时一样...我已经尝试改回最近的更改PHP 文件没有任何结果。

我已经尝试了所有听起来不像可能会破坏数据库的方法还在那里。 我找不到使用相同端口的任何其他程序,这甚至不应该是问题,因为它适用于网站的所有其他页面......

错误:

XAMPP 控制面板:

22:09:48  [mysql]   Error: MySQL shutdown unexpectedly.
22:09:48  [mysql]   This may be due to a blocked port, missing dependencies, 
22:09:48  [mysql]   improper privileges, a crash, or a shutdown by another method.
22:09:48  [mysql]   Press the Logs button to view error logs and check
22:09:48  [mysql]   the Windows Event Viewer for more clues
22:09:48  [mysql]   If you need more help, copy and post this
22:09:48  [mysql]   entire log window on the forums

MySQL 日志:

InnoDB: using atomic writes.
2021-07-11 22:25:31 0 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions
2021-07-11 22:25:31 0 [Note] InnoDB: Uses event mutexes
2021-07-11 22:25:31 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
2021-07-11 22:25:31 0 [Note] InnoDB: Number of pools: 1
2021-07-11 22:25:31 0 [Note] InnoDB: Using SSE2 crc32 instructions
2021-07-11 22:25:31 0 [Note] InnoDB: Initializing buffer pool, total size = 16M, instances = 1, chunk size = 16M
2021-07-11 22:25:31 0 [Note] InnoDB: Completed initialization of buffer pool
2021-07-11 22:25:31 0 [Note] InnoDB: Starting crash recovery from checkpoint LSN=1238359
2021-07-11 22:25:31 0 [Note] InnoDB: 128 out of 128 rollback segments are active.
2021-07-11 22:25:31 0 [Note] InnoDB: Removed temporary tablespace data file: "ibtmp1"
2021-07-11 22:25:31 0 [Note] InnoDB: Creating shared tablespace for temporary tables
2021-07-11 22:25:31 0 [Note] InnoDB: Setting file 'D:\XAMMP\mysql\data\ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
2021-07-11 22:25:31 0 [Note] InnoDB: File 'D:\XAMMP\mysql\data\ibtmp1' size is now 12 MB.
2021-07-11 22:25:31 0 [Note] InnoDB: Waiting for purge to start
2021-07-11 22:25:31 0 [Note] InnoDB: 10.4.13 started; log sequence number 1238368; transaction id 2064
2021-07-11 22:25:31 0 [Note] InnoDB: Loading buffer pool(s) from D:\XAMMP\mysql\data\ib_buffer_pool
2021-07-11 22:25:31 0 [Note] Plugin 'FEEDBACK' is disabled.
2021-07-11 22:25:31 0 [Note] Server socket created on IP: '::'.

网站错误/警告:

Warning: mysqli_stmt_execute(): MySQL server has gone away in D:\XAMMP\htdocs\XXX(Censored)XXX\includes\functionsStatInter.inc.php on line 60

Warning: mysqli_stmt_execute(): Error reading result set's header in D:\XAMMP\htdocs\XXX(Censored)XXX\includes\functionsStatInter.inc.php on line 60

Fatal error: Uncaught TypeError: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in D:\XAMMP\htdocs\XXX(Censored)XXX\includes\functionsStatInter.inc.php:68 Stack trace: #0 D:\XAMMP\htdocs\XXX(Censored)XXX\includes\functionsStatInter.inc.php(68): mysqli_num_rows(false) #1 D:\XAMMP\htdocs\XXX(Censored)XXX\statistics_interactive.php(60): AmountRuns2() #2 {main} thrown in D:\XAMMP\htdocs\XXX(Censored)XXX\includes\functionsStatInter.inc.php on line 68

需要更多信息吗?如果你觉得我错过了什么,请告诉我!

=====

2021 年 12 月 7 日更新

当我打算尝试来自 cmets 的建议时,我发现现在我根本无法加载任何与数据库有关的东西...... 错误中建议的所有内容均未更改。

来自 PhPMyAdmin 的错误:

MySQL said: Documentation

Cannot connect: invalid settings.
 mysqli::real_connect(): MySQL server has gone away
 mysqli::real_connect(): Error while reading greeting packet. PID=19092
 mysqli::real_connect(): (HY000/2006): MySQL server has gone away
 Connection for controluser as defined in your configuration failed.
 mysqli::real_connect(): (HY000/2002): No connection could be made because the target machine actively refused it.
 phpMyAdmin tried to connect to the MySQL server, and the server rejected the connection. You should check the host, username and password in your configuration and make sure that they correspond to the information given by the administrator of the MySQL server.

=====

2021 年 12 月 7 日更新(几小时后)

我在上次更新中遇到的问题似乎是我尝试了建议的方法来解决我在其他地方发现的问题,但我可能搞砸了。 所以我把所有的东西都改回原来的样子,现在将开始研究如何解决我从一开始就问到的主要问题。 :D

=====

2021 年 7 月 13 日更新

哈哈,哇...问题似乎是我一直很愚蠢...:P

所以问题是我使用“?”要替换 SQL 代码中的某些值,这是由会话设置的,会话本身由表单设置。 所以当会话被重置时,我还没有添加一个默认值,如果它们没有被设置的话……所以这就是导致问题的原因。

非常感谢大家的帮助! :D

【问题讨论】:

  • 这是一个正常的日志,显示一个正在运行的服务器,你是怎么连接的,你在运行什么,有sometime_out你可以增加
  • 您将需要完整的堆栈跟踪来追踪导致此问题的行号的确切 PHP 脚本。此外,从生活经验来看,这主要发生在查询对 MySQL 来说过于过载的情况下。仔细检查您的查询,尤其是包含大量数据的长时间运行的查询。
  • 你能解释一下你的意思吗,除了 MySQL 日志是正常的之外,并没有真正明白你想要告诉我的意思。 @nbk
  • 有什么办法可以避免 MySQL 过载?你知道为什么它在我制作它时进行测试但几个小时后就起作用了吗? @BrokenArrow
  • @eke0909 对于我们任何人来说,仅仅通过查看那里的日志就知道为什么它以前工作以及现在出了什么问题是不现实的 :) 但最有可能的是,这是一个查询问题,我怀疑你已经为一些冗长的操作动态生成了 SQL?我认为您需要在 MySQL Workbench 中执行每个查询,看看哪个是罪魁祸首。

标签: php mysql xampp


【解决方案1】:

由于没有发布任何真正的答案,即使我在 cmets 中进行了有益的对话,但我认为我可能应该自己发布答案,因为在尝试了 cmets 中对我有帮助的一些提示后,我设法解决了所有问题正在解决这个问题。

解决方案:

所以问题是我使用“?”要替换 SQL 代码中的某些值,这是由会话设置的,会话本身由表单设置。因此,当会话在一段时间后自动重置时,我还没有添加一个默认值,如果它们没有设置则使用......所以这一直是导致问题的原因。

为什么?

这解释了为什么它按预期工作一天后尝试访问该页面时开始崩溃,而我没有进行任何更改。

感谢所有帮助,它指导我逐个测试每个 SQL 段,并且所有这些都按预期工作。 这让我想到它是别的东西,所以我删除了所有连接到数据库的东西,但每个人都让它自己崩溃了。 然后我来想可能是会话不起作用,所以我删除了与数据库有关的所有内容,填写表格然后保存,以便进行会话。 然后,当我将所有连接添加回数据库时,一切正常。

再次感谢您的帮助! :D

【讨论】:

    猜你喜欢
    • 2015-06-10
    • 2019-08-12
    • 2020-03-28
    • 2020-07-27
    • 2016-04-28
    • 2021-01-04
    相关资源
    最近更新 更多