我在gcloud中托管了一个使用mysql的应用程序。但是当函数崩溃(错误/异常)时,我需要结束连接。当函数崩溃时,日志发出:
error: Function worker killed by signal: SIGTERM
那么,如何在函数终止之前关闭mysql连接(connection.end())呢?
我在两个服务器上有一个网站(Windows 2016和Windows 2012)。在2016年服务器上,mysql每30分钟就会崩溃一次。在试图跟踪可能导致它的原因时,我注意到"Windows “在mysql每次崩溃之前就进入了运行状态。
奇怪的是,Windows内部服务被设置为手动启动类型,所以我不明白为什么它每30分钟启动一次,但在每次崩溃之前,我在事件日志中看到了这一点。
"The Windows Insider Service service entered the running state." Event ID 7036
当我说“就在前面”时,我的意思是在
问题是我的MySQL服务器每隔几秒钟就会崩溃一次。即使我多次重复一个简单的SQL命令,MySQL服务器也会崩溃:
mysql> show databases;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
ERROR:
Can't
我们经常在运行在windows 2003服务器上的一些mysql表上得到错误Table marked as crashed and should be repaired。
如何监视mysql db中的表是否“崩溃”?是否有一个要查看的文件(很容易实现),还是必须在db上放置一些查询(因为监视工具需要db登录),或者需要读取系统参数?如果表被触摸,就会有一个事件日志条目,但是解析事件日志确实需要很长时间。
今天早上,MySQL在我的服务器上崩溃了,经过进一步的调查,看起来系统重新加载导致了MySQL的崩溃。我在syslog中找到了这些行,当时一切都变坏了:
May 5 06:34:15 s1 systemd[1]: Reloading.
May 5 06:34:15 s1 systemd[1]: Starting Message of the Day...
May 5 06:34:15 s1 systemd[1]: Starting Daily apt download activities...
May 5 06:34:15 s1 systemd[1]: Started Message
我试图从mysql生成的慢速查询日志中获取慢速查询报告。我尝试了myprofi,但不幸的是,当我运行myprofi脚本时,我的windows服务器一直在崩溃。
我也尝试过来自hackmysql.com的perl脚本mysqlsla,但是我似乎无法让它工作,它给了我以下错误:
Use of uninitialized value $ENV{"HOME"} in concatenation (.) or string at mysqlsla-2.03 line 2281
我没有Perl的经验,所以我无法修复它。解析大型mysql日志文件的其他选项有哪些?