当前位置: 首页 > article >正文

Windows 11 上通过 WSL (Windows Subsystem for Linux) 安装 MySQL 8

Windows 11 上通过 WSL (Windows Subsystem for Linux) 安装 MySQL 8 的步骤如下:


✅ 1. 检查 WSL 的安装

首先确保已经安装并启用了 WSL 2

🔧 检查 WSL 版本

打开 PowerShell,执行以下命令:

wsl --list --verbose

确保 WSL 版本是 2。如果不是,请执行以下命令来设置默认版本:

wsl --set-default-version 2

✅ 2. 安装 Ubuntu(或其他 Linux 发行版)

如果尚未安装 Ubuntu,可以从 Microsoft Store 安装。

  1. 打开 Microsoft Store,搜索 Ubuntu
  2. 选择 Ubuntu 22.04 LTSUbuntu 20.04 LTS,然后安装。

✅ 3. 更新 Ubuntu 软件包

打开 Ubuntu 终端并更新系统:

sudo apt update && sudo apt upgrade -y

✅ 4. 安装 MySQL 8

执行以下步骤在 Ubuntu(WSL) 中安装 MySQL 8

🔧 第一步:添加 MySQL 官方源

sudo apt update
sudo apt install -y wget
wget https://dev.mysql.com/get/mysql-apt-config_0.8.24-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.24-1_all.deb

安装时会弹出一个配置界面:

  • 选择 MySQL 8.0 并按 Enter
  • 选择 OK 并完成配置。

🔧 第二步:安装 MySQL 服务器

sudo apt update
sudo apt install -y mysql-server

✅ 5. 启动 MySQL 服务

执行以下命令启动 MySQL

sudo service mysql start

检查 MySQL 服务状态:

sudo service mysql status

✅ 6. 设置 MySQL root 密码

默认情况下,MySQL 的 root 用户密码是空的。为了安全起见,设置一个新的密码:

sudo mysql_secure_installation

系统会引导你进行以下配置:

  1. 设置 root 密码:根据提示输入新的密码。
  2. 移除匿名用户:选择 Y
  3. 禁止 root 远程登录:选择 Y
  4. 移除测试数据库:选择 Y
  5. 重新加载权限表:选择 Y

✅ 7. 通过 MySQL 客户端连接

执行以下命令连接到 MySQL

sudo mysql -u root -p

输入刚才设置的 root 密码,即可进入 MySQL Shell


✅ 8. 设置 MySQL 的远程访问权限(可选)

如果需要在 WSL 外部(例如 Windows 上)访问 MySQL,可以执行以下步骤:

🔧 修改 MySQL 配置文件

打开 MySQL 配置文件

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

找到以下行:

bind-address = 127.0.0.1

修改为:

bind-address = 0.0.0.0

🔧 重新启动 MySQL 服务

sudo service mysql restart

🔧 创建远程用户

MySQL Shell 中执行以下命令,创建允许远程访问的用户:

CREATE USER 'your_user'@'%' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON *.* TO 'your_user'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

✅ 9. 确保 Windows 防火墙允许 3306 端口

  1. 打开 Windows Defender 防火墙
  2. 选择 高级设置
  3. 创建一个新的 入站规则,允许 3306 端口的访问。

✅ 10. 验证安装

Windows 上打开 MySQL Workbench 或使用 CLI,连接到 WSL 中的 MySQL 服务:

mysql -h 127.0.0.1 -P 3306 -u your_user -p

http://www.kler.cn/a/467844.html

相关文章:

  • 前端访问一个图片URL时,浏览器默认会尝试下载文件而不是直接显示它
  • 03、MySQL安全管理和特性解析(DBA运维专用)
  • C++进阶——用Hash封装unordered_map和unordered_set
  • 计算机网络 (28)虚拟专用网VPN
  • 【数据可视化-11】全国大学数据可视化分析
  • 如何使用脚手架工具开始,快速搭建一个 Express 项目的基础架构
  • html+css+js网页设计 美食 美食天下2个页面(里面包含php和mysql)
  • Launcher3主页面加载显示流程分析
  • ROS节点架构设计:提高模块化与可扩展性
  • 算法解析-经典150(区间、栈)
  • 【通识安全】应急救护常识23则
  • C++软件设计模式之访问者模式
  • Linux 异步 I/O 框架 io_uring:基本原理、程序示例与性能压测
  • Android SPRD 工模测试修改
  • boot-126网易邮件发送
  • CSS系列(47)-- Animation Timeline详解
  • 车载软件架构 ---互联网人才怎么转变成汽车软件专家?
  • 【网络协议】开放式最短路径优先协议OSPF详解(三)
  • OSError: [WinError 126] 找不到指定的模块 backend_with_compiler.dll
  • 文件I/O - 文件读写操作
  • 计算机网络 —— 网络编程实操(1)(UDP)
  • C#利用Attribute实现面向切面编程(AOP)
  • LangChain4j 框架探索
  • 前端-计算机网络篇
  • 【Unity功能集】TextureShop纹理工坊(八)修剪工具
  • 基于Spring Boot的前后端分离的外卖点餐系统