安装 Docker 后,出现错误:mysql.service failed because the control process exited with error code.

3
我已经在我的Ubuntu 21系统上安装了MySQL服务器,但是当我尝试启动MySQL服务器时,我遇到了Job for mysql.service failed because the control process exited with error code. See "systemctl status mysql.service" and "journalctl -xeu mysql.service" for details. 的错误提示。 在安装Docker并在其中运行MySQL之前,它一直正常工作。
需要执行命令:

systemctl status mysql.service

mysql.service - MySQL Community Server
     Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset:>
     Active: failed (Result: exit-code) since Sat 2022-01-22 18:32:17 IST; 7min>
    Process: 19128 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=>
    Process: 19136 ExecStart=/usr/sbin/mysqld (code=exited, status=1/FAILURE)
   Main PID: 19136 (code=exited, status=1/FAILURE)
     Status: "Server startup in progress"
      Error: 13 (Permission denied)
        CPU: 313ms

Jan 22 18:32:17 Lenovo systemd[1]: mysql.service: Scheduled restart job, restar>
Jan 22 18:32:17 Lenovo systemd[1]: Stopped MySQL Community Server.
Jan 22 18:32:17 Lenovo systemd[1]: mysql.service: Start request repeated too qu>
Jan 22 18:32:17 Lenovo systemd[1]: mysql.service: Failed with result 'exit-code>
Jan 22 18:32:17 Lenovo systemd[1]: Failed to start MySQL Community Server.

journalctl -xeu mysql.service

░░ Subject: A stop job for unit mysql.service has finished
░░ Defined-By: systemd
░░ Support: http://www.ubuntu.com/support
░░ 
░░ A stop job for unit mysql.service has finished.
░░ 
░░ The job identifier is 6908 and the job result is done.
Jan 22 18:32:17 Lenovo systemd[1]: mysql.service: Start request repeated too qu>
Jan 22 18:32:17 Lenovo systemd[1]: mysql.service: Failed with result 'exit-code>
░░ Subject: Unit failed
░░ Defined-By: systemd
░░ Support: http://www.ubuntu.com/support
░░ 
░░ The unit mysql.service has entered the 'failed' state with result 'exit-code>
Jan 22 18:32:17 Lenovo systemd[1]: Failed to start MySQL Community Server.
░░ Subject: A start job for unit mysql.service has failed
░░ Defined-By: systemd
░░ Support: http://www.ubuntu.com/support
░░ 
░░ A start job for unit mysql.service has finished with a failure.
░░ 
░░ The job identifier is 6908 and the job result is failed.

systemctl status mysql.service 显示了 MySQL 服务的状态,而 journalctl -xeu mysql.service 则显示了 MySQL 服务的日志。你是通过 service mysqld start 还是 service mysql start 来启动 MySQL 的? - Ergest Basha
我开始使用 "service mysql start" 命令。 - ioeshu
无法启动mysqld.service:找不到mysqld.service单元。 - ioeshu
请在这里查看。 - Ergest Basha
5个回答

10

我尝试了这个,它有效:

sudo apt autoremove --purge mysql-server\* mariadb-server\*
sudo rm -rf /var/lib/mysql
sudo rm -rf /etc/mysql/
sudo mkdir -p /etc/mysql/conf.d
sudo apt install mysql-server

注意:请务必备份您的数据,因为这些命令将擦除您的MySQL数据。


3

尝试使用以下命令

sudo mysqld_safe --defaults-file=/etc/my.cf

sudo chown -R mysql:mysql /var/lib/mysql

有时候对于某些系统,当你执行下面的两个命令时,如果显示“Not a directory”,则需要切掉下面的两个命令并且执行下一个命令。
/etc/init.d/mysqld start

/etc/init.d/mysqld stop

最后,请尝试运行这个命令。
sudo systemctl restart systemd-logind

在执行 systemctl restart 命令后,系统有时会挂起并注销。如果注销了,请重新登录并运行 sudo systemctl start mysql.service 命令,它将正常工作。
如需进一步命令,请查看此链接,如果以上命令无效,请在该网站上查看以下命令。

没有对我起作用。 - Kritarth Sharma

1

我在Digitalocean Ubuntu droplet上遇到了同样的错误。问题是我使用了一个500MB RAM Droplet,而500MB RAM不足以安装MySQL服务器。所以我将droplet的大小调整为1GB RAM,然后它就可以工作了。


0

我尝试了一下,得到了这个结果:

systemctl status mysql.service
× mysql.service - MySQL Community Server
     Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Mon 2022-10-17 22:38:59 CEST; 1min 40s ago
    Process: 17421 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=1/FAILURE)
        CPU: 8ms

Okt 17 22:38:59 install-web systemd[1]: mysql.service: Scheduled restart job, restart counter is at 5.
Okt 17 22:38:59 install-web systemd[1]: Stopped MySQL Community Server.
Okt 17 22:38:59 install-web systemd[1]: mysql.service: Start request repeated too quickly.
Okt 17 22:38:59 install-web systemd[1]: mysql.service: Failed with result 'exit-code'.
Okt 17 22:38:59 install-web systemd[1]: Failed to start MySQL Community Server.

我已经重新安装了,但没有帮助。


1
这并没有回答问题。一旦您拥有足够的声望,您将能够评论任何帖子;相反,提供不需要询问者澄清的答案。- 来自审核 - Bert Blommers

0

我尝试了以下命令,问题得到了解决。

sudo apt autoremove --purge mysql-server\* mariadb-server\*
sudo rm -rf /var/lib/mysql
sudo rm -rf /etc/mysql/
sudo mkdir -p /etc/mysql/conf.d
sudo apt install mysql-server

1
不要尝试这个。这将删除您所有的数据。 - purval_patel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接