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

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.lryc.cn/news/517289.html

相关文章:

  • 信用租赁系统助力企业实现免押金租赁新模式
  • OSPF特殊区域(open shortest path first LSA Type7)
  • Element-plus表单总结
  • unity学习13:gameobject的组件component以及tag, layer 归类
  • 51单片机——中断(重点)
  • 企业级Java 实体对象类定义规范
  • 【网络云SRE运维开发】2025第2周-每日【2025/01/07】小测-【第7章 GVRP链路捆绑】理论和实操
  • 蓝桥杯算法|练习记录
  • C语言 扫雷程序设计
  • CSS语言的文件操作
  • 前端-计算机网络篇
  • 行为分析:LSTM、3D CNN、SlowFast Networks。这三者的优缺点
  • 【HarmonyOS NEXT】鸿蒙应用使用后台任务之长时任务,解决屏幕录制音乐播放等操作不被挂起
  • STM32-WWDG/IWDG看门狗
  • 基于视觉惯性 SLAM(VSLAM)、相机和 IMU 数据的融合执行 6 自由度位姿跟踪
  • Matlab仿真径向受压圆盘光弹图像
  • 网络安全抓包
  • WebSocket 测试调试:工具与实践
  • ArmSoM RK3588/RK3576核心板,开发板网络设置
  • 【学Rust开发CAD】1 环境搭建
  • 数据结构与算法之二叉树: LeetCode 108. 将有序数组转换为二叉搜索树 (Ts版)
  • Java 多线程之@Async
  • 代码随想录day38 动态规划6
  • LabVIEW无标题的模态VI窗口的白框怎么去除?
  • iOS - 原子操作
  • Go语言的语法
  • 【MySQL 保姆级教学】用户管理和数据库权限(16)
  • 什么是 ES6 “模板语法” ?
  • [项目实战2]贪吃蛇游戏
  • 关于FPGA中添加FIR IP核(采用了GOWIN EDA)