Windows子系统安装MySQL服务器。

17
在Windows 10的Ubuntu 18.04子系统上安装mysql-server。
Cannot open /proc/net/unix: No such file or directory
Cannot stat file /proc/1/fd/5: Operation not permitted
Cannot stat file /proc/3/fd/7: Operation not permitted

请帮忙

在此输入图片描述


3
Windows子系统 for Linux (WSL)是一种兼容层,允许Linux ELF64二进制文件在Windows 10上运行。为什么不安装本机的MySQL Windows 64位版本并安装呢?MySQL被设计为跨操作系统工作,使用大写字母来命名数据库名称/表名称和/或列可能会在操作系统之间造成麻烦,并且可能使相同的二进制表文件产生问题。 - Raymond Nijland
如果我需要在Windows 10上安装Linux的MySQL,我会在Oracle VirtualBox下设置一个运行Linux的虚拟机,或者... - spencer7593
6个回答

7

我使用Windows 10的Subsystem功能,在Ubuntu 18.04上运行,因此你需要通过以下方式添加MariaDB所需的存储库:

sudo apt-get install software-properties-common

然后更新你的安装:

sudo apt update

安装MariaDB:

sudo apt install mariadb-server

你将被提示设置根密码,并等待安装继续。一旦安装完成,使用以下命令启动服务:

sudo service mysql start

即可完成操作,如果想要检查你的mysql和mariadb版本,请使用以下命令:

mysql --version


我根本没有被提示设置根密码。 - snoob dogg
你是否通过sudo连接,并检查终端是否要求输入root密码? - Noha Salah
1
我终于解决了我的问题,但是说实话,尝试和错误太多了,我无法弄清楚是什么解决了它 : / 我认为 XAMPP 也存在冲突。 - snoob dogg
好消息是它能够与您一起工作,实际上我们应该小心处理与Microsoft或任何Linux发行版相关的任何数据库引擎命令,并在出现错误时跟踪并不忽略以继续执行。 - Noha Salah

5
有个人在Github上提到了这个问题,而且解决了我的问题 问题出在脚本“/etc/profile.d/wsl-integration.sh”上。为了快速解决问题,在“/etc/profile.d/wsl-integration.sh”的第一行前插入以下代码(使用sudo编辑文件)。
# Check if we have HOME folder
if [ "${HOME}" = "/" ]; then
  return
fi

我指的是在这一行之前:

WSL_INTEGRATION_CACHE=$HOME/.cache/wslu/integration`

2
呵呵,当他们提到我时,读到“一个家伙”感觉有点奇怪。同一链接中有一个更好的答案。我也会在这里进行编辑。 - Carlos Rafael Ramirez
3
我在我的系统上没有那个文件。 - snoob dogg
1
@CarlosRafaelRamirez 哈哈... :D... 咳咳.... 一个绅士... - Sina ___

4

若有人遇到此问题,关闭并重新打开WSL,然后运行以下命令: sudo service mysql start sudo dpkg --configure -a 这样应该就能完成了。


3

我的本地 Windows 10 系统已经运行了 MySQL。它可能一直试图争夺相同的默认设置。我尝试关闭本地 MySQL,然后使用 WSL 安装进行操作,结果奏效了。


就是这样!我忘了在 Windows 上运行 XAMPP。一旦我停止了 Windows 上的 MySQL,WSL 上的安装就成功了。 - Flimm
很高兴能帮到你 :) - Manthan_Admane

1

我遇到了保存问题。原因是您在本地操作系统Win10上安装了MySQL服务器。如何解决:

  1. 进入Windows服务,停止MySQL服务。

  2. 修改MySQL服务器文件夹下的my.ini文件,我的路径是C:\Program Files\MySQL\MySQL Server 5.5

    [mysqld]
    \# MySQL服务器监听的TCP/IP端口
    port=3306 -> 3308或其他
    
  3. 重启你的wsl实例。

  4. 使用root账户重新安装MySQL-server

    apt install mysql-server
    service mysql start
    mysql_secure_installation
    

0

我也无法在WSL上安装mysql(mysql 5.7.30,ubuntu 18.04,win10 1909),因此这里有一个解决方法。在Windows上安装并运行mysql,然后通过以下方式从Ubuntu bash连接:

mysql -u root -p --host=127.0.0.1 --port=3306 --protocol=TCP

还需要在项目设置中配置数据库。不要使用本地主机名,我的电脑上端口是3306,可能与你的不同。希望他们能在wsl2上解决这个问题。


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