在Windows子系统Linux(WSL)中安装MariaDB

14
我正在尝试在Windows Linux子系统中使用以下命令启动MariaDB:
sudo apt-get update
sudo apt-get install mariadb-server
sudo service mysql start

但是我遇到了以下错误:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2 "No such file or directory")

我知道,这并不是一个新问题,在Ubuntu下我阅读了很多其他解决方案,但迄今为止没有什么有效。有人有想法如何让它运行吗?

谢谢A。


网站:1. https://github.com/Microsoft/WSL/issues/1282 2. https://github.com/Microsoft/WSL/issues/67 - Biswapriyo
使用 TCP/IP,不要使用 socket。 - Rick James
5个回答

24

1
我遇到了“sudo:/etc/init.d/mysql:command not found”的问题。我按照这里的说明进行了安装:https://computingforgeeks.com/install-mariadb-10-on-ubuntu-18-04-and-centos-7/。有没有什么方法可以解决这个问题? - user13267
1
问题询问关于Mariadb,这个对我有用:sudo /etc/init.d/mariadb start。不想复制@cybercser。 - Zegert

1

我在WSL上安装Ubuntu发行版后,启动MariaDB时遇到了类似的问题,这与在Windows主机下已经安装过有关。

我发现仅停止Windows版本就足以使WSL Ubuntu版本运行,而无需完全卸载Windows版本。


1

您的Windows系统上是否已经安装了SQL? 尝试仅在WSL上安装MariaDB并删除它们。


3
您是否有任何参考资料表明该问题是由于在 Windows 系统上安装所致?请在您的回答中提供更多背景信息。基于猜测的回答具有有限的用途。 - peeyush singh
我昨天遇到了同样的问题。所以我尝试了很多解决方案。正如之前的评论所提到的,我们可以通过使用-h标志来绕过这个问题。但是我想解决使用socket运行mysql的问题。我认为这个问题是由于Windows系统占用了socket造成的,因为WSL使用了许多Windows的协议。所以我从Windows中删除了MariaDB,问题得到了解决。现在我可以使用带有socket的MariaDB了。 - Hyuck Yi
2
谢谢,现在明白了,如果你把解释也放在答案里可能会更好,这样可以帮助那些寻找答案的人。 - peeyush singh

0

这篇帖子看起来有点旧,但也许会有所帮助。

我在Debian 10(WSL)上安装了MariaDB,并遇到了同样的问题。

经过一些研究,我发现mysql服务没有运行。

使用 /etc/init.d/mysql start 命令启动/重新启动服务,然后一切正常。

提示:每次系统重启后都需要执行此操作!


0

命令 sudo service mariadb start 对我有效。

lsb_release -a 输出:

Distributor ID: Debian
Description:    Debian GNU/Linux 11 (bullseye)
Release:        11
Codename:       bullseye

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