按照步骤完成后,我按照此处的说明在 WSL 上安装 mariadb。我运行这个
sudo service mysql start
我得到了
mysql: unrecognized service
知道如何解决这个问题吗?
如您所见,这只是一个简单的问题,但我花了 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
您在 WSL 上使用哪个 Linux 发行版?
首先,尝试以下操作:
systemctl {start|stop|restart|status} mysql
或
service mysql {start|stop|restart|status}
管理 MySQL 服务。
原因可能有以下几点:
服务名称错误:
在某些 Linux 发行版上,该服务被命名为
mysqld
而不是 mysql
。
检查: 在 WSL 上运行
chkconfig --list
并识别正确的服务名称。文件权限问题:
请确保
/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
MySQL 服务器包丢失/损坏:
重新安装MySQL!