昨天,我的专用服务器上的mysql服务停止工作,导致几个网页和其他应用程序瘫痪。也许cpanel的自动更新没有正确完成,但我只收到了以下错误的警告邮件:
(XID ######) The “mysql” service is down.
第一个说:
The subprocess “/usr/local/cpanel/scripts/restartsrv_mysql” reported error number 2 when it ended.
系统与服务器信息:
- 操作系统:Linux 8.3
- Apache版本:2.4.46
- MySQL版本:适用于x86_64上Linux的8.0.25版(MySQL社区服务器- GPL)
- PHP版本:7.4.18
- 面板版本94.0.8
我将列出我尝试过的一些命令及其输出:
# systemctl start mysqld
Job for mysqld.service failed because the control process exited with error code.
See "systemctl status mysqld.service" and "journalctl -xe" for details.
然后道:
第一个
这个文件不存在,但在/tmp/mysql.sock
中有一个。后来,我更改了.cnf中的一些行,但得到了同样的错误
一个
如前所述,我将客户端和mysqld的socket=/var/lib/mysql/mysql.sock
更改为socket=/tmp/mysql.sock
。不再进行更改。
# mysqld -u root
2021-05-11T17:11:04.993623Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.25) starting as process 25020
2021-05-11T17:11:04.997863Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
2021-05-11T17:11:05.146263Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended.
2021-05-11T17:11:05.432633Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Socket: /var/run/mysqld/mysqlx.sock
2021-05-11T17:11:05.447752Z 4 [System] [MY-013381] [Server] Server upgrade from '80024' to '80025' started.
2021-05-11T17:11:10.666062Z 4 [ERROR] [MY-013178] [Server] Execution of server-side SQL statement 'ALTER TABLE user MODIFY max_updates int unsigned DEFAULT 0 NOT NULL, MODIFY max_connections int unsigned DEFAULT 0 NOT NULL, MODIFY max_user_connections int unsigned DEFAULT 0 NOT NULL, MODIFY ssl_cipher BLOB NOT NULL, MODIFY x509_issuer BLOB NOT NULL, MODIFY x509_subject BLOB NOT NULL; ' failed with error code = 1138, error message = 'Invalid use of NULL value'.
2021-05-11T17:11:10.666934Z 0 [ERROR] [MY-013380] [Server] Failed to upgrade server.
2021-05-11T17:11:10.667061Z 0 [ERROR] [MY-010119] [Server] Aborting
2021-05-11T17:11:12.059278Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.25) MySQL Community Server - GPL.
在这里我发现有趣的'ALTER TABLE user MODIFY...
它看起来像有一个额外的空间(对不起,如果这是不重要的,我不是一个Maven在这件事上).
# ls -la /var/lib |grep mysql
drwxr-x--x 10 mysql mysql 4096 May 12 00:24 mysql
drwxr-x--- 2 mysql mysql 6 Apr 23 16:18 mysql-files
drwxr-x--- 2 mysql mysql 6 Apr 23 16:18 mysql-keyring
最后,在检测到事件后,服务器有一个小时左右没有回应ping,需要拔掉插头重新启动。现在我可以通过ssh访问服务器,但mysql仍然不能工作。
2条答案
按热度按时间vpfxa7rd1#
如果打开了"常规日志",请将其关闭。
我在修改日志中没有发现任何明显的东西:https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-25.html
Consider filing a bug at bugs.mysql.com
mysql
目录中有哪些"常规 *"文件?可以只删除这些文件。失败,错误代码= 13,错误消息
谁在写?谁在运行mysqld?等等。
MySQL应由
root
安装,mysqld
应由系统进程运行,而不是由用户进程运行。wgx48brx2#
以防万一这对任何人都有帮助,我只是在权限没有问题的时候遇到了同样的错误信息。
解决方案是SELinux阻止重命名日志文件。如果这是您的问题,您将能够在
/var/log/audit/audit.log
中看到类似以下的内容: