mysql: 无法识别的服务

mysql: unrecognized service

我按照说明here按照步骤在WSL上安装了mariadb。我 运行 这个

sudo service mysql start

我得到了

mysql: unrecognized service

知道如何解决这个问题吗?

您在 WSL 上使用哪个 Linux 发行版?

首先,尝试以下操作:

systemctl {start|stop|restart|status} mysql

service mysql {start|stop|restart|status}

管理 MySQL 服务。

原因可能如下:

  1. 错误的服务名称:

    在某些 Linux 发行版中,服务被命名为 mysqld 而不是 mysql

    检查: 运行 chkconfig --list 在您的 WSL 上并确定正确的服务名称。

  2. 文件权限问题:

    请确保 /var/lib/mysql 中的文件具有 770 权限和所有权设置为 mysql 用户。

    修复:

    chmod -R 770 /var/lib/mysql
    chgrp -R mysql /var/lib/mysql
    

    除此之外,确保/etc/rc.d/init.d/mysqld脚本具有修改mysqld的可执行权限。

    修复:

    chmod 755 /etc/rc.d/init.d/mysqld
    
  3. Missing/Corrupted MySQL 服务器包:

    重新安装 MySQL!

如您所见,这只是一个简单的问题,但我花了 24 小时来诊断问题。

解决方法: 我用这个命令卸载 mariadb

sudo apt-get remove --auto-remove mariadb-server

并安装 sudo apt install mysql-server,但这会导致更多问题

安装成功mysql但无法启动

dpkg: error processing package mysql-server (--configure):
dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup error from a previous failure.
                                                                                                          
Errors were encountered while processing:
mysql-server-5.7
mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)

所以通过删除 mariadb 的 deb 源并清除 mysql-common 然后重新安装它。

做: sudo apt edit-sources

并查找任何包含 mariadb 的内容,例如:deb [arch=amd64,arm64,ppc64el] http://ftp.nluug.nl/db/mariadb/repo/10.3/ubuntu bionic main

在它前面加上#注释掉它。然后 运行

sudo apt update
sudo apt purge mysql-common
sudo apt install mysql-common

之后你可以通过 sudo apt install mysql-server 正确安装 mysql-server,然后执行:

sudo apt purge mysql-server mysql-server-5.7
sudo apt purge mysql-server mysql-client mysql-common mysql-server-core-5.7 mysql-client-core-5.7


sudo rm -rfv /etc/mysql /var/lib/mysql

sudo apt autoremove

sudo apt autoclean

最后:

sudo apt update    
sudo apt install mysql-server mysql-client --fix-broken --fix-missing

参考资料: https://askubuntu.com/questions/980314/cannot-install-mysql-server-in-ubuntu16-0-4 https://askubuntu.com/questions/763534/cannot-reinstall-mysql-server-after-its-purge