当前位置:首页>Linux>手把手用WSL在Windows上搭一个Linux开发环境(含MySQL实战)

手把手用WSL在Windows上搭一个Linux开发环境(含MySQL实战)

  • 2026-10-11 07:12:12
手把手用WSL在Windows上搭一个Linux开发环境(含MySQL实战)

这是笔者过去写的一篇文章,整理后重新分享给大家。

因为个人使用Windows系统进行开发,很多涉及Linux环境的部署配置,以往要么用个人云服务器,要么用虚拟机,过程都比较繁琐。当时受朋友安利,了解到Windows下的Linux子系统(WSL),查看微软官方介绍可知它有如下几个优势:

  1. 直接嵌入Windows系统,无需像双系统或者虚拟机那样配置繁琐。
  2. 结合VS Code实现Windows系统开发,Linux子系统部署调试。
  3. Linux子系统与Windows运行环境相互隔离,但两者的文件系统可以互相访问。

通过WSL2可以快速打造出在本地Linux开发的环境,实现本地开发和调试Linux应用,所以这篇文章笔者就以自己的win 10系统来演示一下WSL的环境配置与安装。

SharkChili · 禅与计算机程序设计的艺术

开源贡献

  • mini-redis:教学级 Redis 精简实现 · https://github.com/shark-ctrl/mini-redis

关注公众号,回复 【加群】 加入技术社群

安装并配置 WSL

安装WSL

首先我们需要以管理员的身份打开powershell键入WSL安装指令进行WSL安装:

wsl --install

静待一段时间等待安装完成:

注意:默认情况下安装的都是Ubuntu系统,如果你想安装其他类型的Linux发行版,可以先通过wsl --list --online查看当前支持安装的发行版列表。

PS C:\Users\shark-chili> 
以下是可安装的有效分发的列表。
使默认分发用 “*” 表示。
使用 'wsl --install -d <Distro>' 安装。

  NAME                                   FRIENDLY NAME
* Ubuntu                                 Ubuntu
  Debian                                 Debian GNU/Linux
  kali-linux                             Kali Linux Rolling
  Ubuntu-18.04                           Ubuntu 18.04 LTS
  Ubuntu-20.04                           Ubuntu 20.04 LTS
  Ubuntu-22.04                           Ubuntu 22.04 LTS
  OracleLinux_7_9                        Oracle Linux 7.9
  OracleLinux_8_7                        Oracle Linux 8.7
  OracleLinux_9_1                        Oracle Linux 9.1
  openSUSE-Leap-15.5                     openSUSE Leap 15.5
  SUSE-Linux-Enterprise-Server-15-SP4    SUSE Linux Enterprise Server 15 SP4
  SUSE-Linux-Enterprise-15-SP5           SUSE Linux Enterprise 15 SP5
  openSUSE-Tumbleweed                    openSUSE Tumbleweed

然后通过wsl --install -d <Distribution Name>指令完成安装,例如我们要安装Debian,则对应的安装指令为wsl --install -d Debian。

重启使之生效

完成安装后,终端提示:请求的操作成功。直到重新启动系统前更改将不会生效。 所以我们需要重启一下计算机,随后就能在开始菜单看到Ubuntu,将其打开。由于是初次启动,系统需要解压发行版文件并完成首次初始化,会等待一小段时间。

配置账号密码

初次使用需要设置一下账号和密码,这里我们按照个人习惯设置一下即可:

使用Linux子系统

后续我们就可以在终端界面操作这个Linux子系统了:

这里也顺便安利一下MobaXterm这款多功能远程终端工具,笔者发现在完成 WSL 安装之后,它能自动识别到这个子系统(对应 MobaXterm 的 WSL 会话类型),点击连接即可直接操作Ubuntu子系统:

安装MySQL

更新软件包索引

因为MySQL是个人比较常用的数据库,这里就以MySQL为例演示一下数据库的安装。在安装前,先更新一下Ubuntu的软件包索引(即刷新可安装软件的版本清单,确保装到较新版本):

sudo apt update

安装数据库服务端

然后就可以键入install命令安装MySQL了:

sudo apt install mysql-server

验证安装结果

等待一段时间之后我们可键入查看版本号的命令查看MySQL是否安装成功:

mysql --version

随后我们再通过下述指令检查一下MySQL的运行状态,如果正处于运行中我们就可以开始后续的配置工作了:

systemctl status mysql

初始化 root 密码

首先键入下述指令进入 MySQL 命令行客户端:

sudo mysql

接着切换到 mysql 库:

use mysql

然后执行如下语句,将root账户的认证方式改为mysql_native_password并设置新密码(这样便于后续用客户端工具远程连接):

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';

连接测试

WSL2 实际运行在一个轻量级虚拟机里,有自己独立的虚拟网卡(通常是 172.x 网段)。微软为它做了 localhost 转发。

这使得客户端通过 localhost 请求 WSL 的 MySQL 服务端时,Windows 侧由一个中转进程监听该请求,再把它转发到 172.x 网段的 Ubuntu 虚拟机中。所以 WSL 里监听的端口会自动「出现」在 Windows 的 localhost 上,你无需关心那个 172.x 的内网 IP,直接连 localhost 即可:

所以,我们可直接在Windows上用客户端工具填写localhost(或127.0.0.1)即可连接到 WSL 里的MySQL,如下图,可以看到正确的输入账号和密码连接成功了:

修改端口号

需要注意的是,基于上面讲的 localhost 转发机制,WSL 里监听的端口会映射到 Windows 的 localhost。如果你的 Windows 主机本身也装了 MySQL(默认同样占用 3306),两者就会在 localhost:3306 上冲突。因此建议修改一下 WSL 里 MySQL 的端口号:

sudo vim /etc/mysql/my.cnf

在该文件中追加如下内容:

[mysqld]
port=3307

完成后重启 MySQL:

sudo service mysql restart

后续我们就可以通过本地的3307端口号访问MySQL数据库了。

小结

本文围绕「在 Windows 上打造个人 Linux 子系统」这一主题,完整走了一遍从环境搭建到实际使用的流程,主要包括:

  1. WSL 的安装与配置:通过 wsl --install 一键安装,介绍了如何查看并选择其他发行版,以及重启生效、初始化账号密码等首次配置步骤。
  2. 终端工具介绍:顺带安利了 MobaXterm,它能在安装 WSL 后自动识别子系统并一键连接。
  3. MySQL 的安装与本地使用:以 MySQL 为例,演示了在子系统中安装数据库、初始化 root 密码、修改端口,并基于 WSL2 的 localhost 转发机制,通过 Windows 的 localhost 完成本地连接访问。

借助 WSL,开发者无需双系统或虚拟机,就能在 Windows 上获得一个开箱即用的 Linux 环境,简化日常的开发与部署调试工作,希望这篇文章对你有帮助。

SharkChili · 禅与计算机程序设计的艺术

开源贡献

  • mini-redis:教学级 Redis 精简实现 · https://github.com/shark-ctrl/mini-redis

关注公众号,回复 【加群】 加入技术社群

参考

设置 WSL 开发环境:https://learn.microsoft.com/zh-cn/windows/wsl/setup/environment

开始使用适用于 Linux 的 Windows 子系统上的数据库:https://learn.microsoft.com/zh-cn/windows/wsl/tutorials/wsl-database

最新文章

随机文章