mysql不重启

thi*_*ler 2 mysql mariadb

我尝试重新启动 mysql 5.7 :\nservice mysql restart

\n\n

但它失败了,我不明白为什么:

\n\n
Job for mariadb.service failed because the control process exited with error code.\nSee "systemctl status mariadb.service" and "journalctl -xe" for details.\n
Run Code Online (Sandbox Code Playgroud)\n\n

我没有看到日志中有什么问题:

\n\n
systemctl status mariadb.service\n\xe2\x97\x8f mariadb.service - MariaDB 10.1.37 database server\n   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)\n   Active: failed (Result: exit-code) since Mon 2019-02-25 22:02:52 GMT; 1min 9s ago\n     Docs: man:mysqld(8)\n           https://mariadb.com/kb/en/library/systemd/\n  Process: 15467 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=127)\n Main PID: 28679 (code=exited, status=0/SUCCESS)\n\nFeb 25 22:02:52 stretch systemd[1]: Starting MariaDB 10.1.37 database server...\nFeb 25 22:02:52 stretch systemd[1]: mariadb.service: Control process exited, code=exited status=127\nFeb 25 22:02:52 stretch systemd[1]: Failed to start MariaDB 10.1.37 database server.\nFeb 25 22:02:52 stretch systemd[1]: mariadb.service: Unit entered failed state.\nFeb 25 22:02:52 stretch systemd[1]: mariadb.service: Failed with result \'exit-code\'.\n
Run Code Online (Sandbox Code Playgroud)\n\n

欢迎任何帮助...

\n\n

我使用的是 Debian 9,内存为 1800Mo。

\n\n

该杂志是这样说的:

\n\n
journalctl -xe\n\nFeb 26 08:09:01 stretch CRON[16792]: pam_unix(cron:session): session opened for user root by (uid=0)\nFeb 26 08:09:01 stretch CRON[16793]: (root) CMD (  [ -x /usr/lib/php/sessionclean ] && if [ ! -d /run/systemd/system ]; then /usr/lib/php/sessionclean; fi)\nFeb 26 08:09:01 stretch CRON[16792]: pam_unix(cron:session): session closed for user root\nFeb 26 08:17:01 stretch CRON[16794]: pam_unix(cron:session): session opened for user root by (uid=0)\nFeb 26 08:17:01 stretch CRON[16795]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)\nFeb 26 08:17:01 stretch CRON[16794]: pam_unix(cron:session): session closed for user root\nFeb 26 08:25:23 stretch systemd[1]: Starting MariaDB 10.1.37 database server...\n-- Subject: Unit mariadb.service has begun start-up\n-- Defined-By: systemd\n-- Support: https://www.debian.org/support\n-- \n-- Unit mariadb.service has begun starting up.\nFeb 26 08:25:23 stretch systemd[1]: mariadb.service: Control process exited, code=exited status=127\nFeb 26 08:25:23 stretch systemd[1]: Failed to start MariaDB 10.1.37 database server.\n-- Subject: Unit mariadb.service has failed\n-- Defined-By: systemd\n-- Support: https://www.debian.org/support\n-- \n-- Unit mariadb.service has failed.\n-- \n-- The result is failed.\nFeb 26 08:25:23 stretch systemd[1]: mariadb.service: Unit entered failed state.\nFeb 26 08:25:23 stretch systemd[1]: mariadb.service: Failed with result \'exit-code\'.\n
Run Code Online (Sandbox Code Playgroud)\n

小智 5

升级到 Debian Buster(从 MariaDB 10.1 到 10.3)时我也遇到了这个错误。mysqld我自己运行,mysql_upgrade无论如何都有效。尝试执行以下命令来即时重新启动 systemd。另请参阅https://unix.stackexchange.com/a/419375

systemctl daemon-reexec
Run Code Online (Sandbox Code Playgroud)

如果您不这样做,重新启动也可能会解决此问题。注释掉ExecStartPrein/etc/systemd/system/mysql.service还不够,因为其他ExecStartPre命令反而失败了(退出代码也为 127,即“找不到命令”)。