在 WSL(Windows Subsystem for Linux)中安装 MySQL 和 Redis 是非常标准的操作,通常以 Ubuntu 发行版为例。以下是详细的安装与基础配置步骤:

一、 安装并配置 MySQL

1. 安装 MySQL 打开 WSL 终端,更新软件包列表并安装 MySQL 服务器:

sudo apt update
sudo apt install mysql-server -y
  1. sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
  2. 将以下内容完整复制并粘贴到文件中,然后保存退出:
[mysqld]
# 设置忽略表名大小写
lower_case_table_names=1
# 设置默认字符集
character-set-server=utf8mb4
collation-server=utf8mb4_0900_ai_ci
# 强制开启旧版密码插件
mysql_native_password=ON
bind-address = 0.0.0.0

2. 启动并检查服务 启动 MySQL 服务,并检查其运行状态:

sudo service mysql start
sudo service mysql status

注:如果你的 WSL2 已经启用了 systemd,也可以使用 sudo systemctl start mysqlsudo systemctl status mysql

3. 配置 root 用户密码 MySQL 8.0 默认使用 auth_socket 插件认证 root 用户,这意味着默认无需密码即可通过 sudo 登录。为了兼容各种客户端工具,建议修改认证方式并设置密码:

sudo mysql

进入 MySQL 命令行后,执行以下 SQL 语句(将 'your_password' 替换为你想要的强密码):

-- 1. 修改 root 用户的密码和认证方式
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Aa123456';

-- 2. 允许 root 用户从任意主机远程连接(方便你用 Navicat 等工具连接)
CREATE USER IF NOT EXISTS 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'Aa123456';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

-- 3. 刷新权限
FLUSH PRIVILEGES;

-- 4. 退出 MySQL
exit;

4. 运行安全配置脚本(可选) 你可以通过运行官方安全脚本,来移除匿名用户、禁用 root 远程登录并删除测试数据库:

sudo mysql_secure_installation

按照提示输入 YN 完成配置即可。


二、 安装并配置 Redis

1. 安装 Redis 同样在 WSL 终端中,更新包列表并安装 Redis 服务器:

sudo apt update
sudo apt install redis-server -y

2. 启动并检查服务 启动 Redis 并验证是否安装成功:

sudo service redis-server start
redis-cli ping

如果终端返回 PONG,说明 Redis 已经成功运行。

3. 修改绑定地址(如需从 Windows 主机连接) Redis 默认只监听本地回环地址(127.0.0.1)。如果你希望从 Windows 宿主机上的客户端(如 RedisInsight、Navicat 等)连接到 WSL 中的 Redis,需要修改配置文件:

sudo nano /etc/redis/redis.conf

找到 bind 127.0.0.1 ::1 这一行,将其修改为:

bind 0.0.0.0 ::1

保存并退出(在 Nano 中按 Ctrl+O,回车确认,然后 Ctrl+X 退出)。最后重启 Redis 服务使配置生效:

sudo service redis-server restart

💡 实用建议:设置开机自启

WSL 默认在启动时不会自动拉起这些服务。如果你希望每次打开 WSL 时 MySQL 和 Redis 都能自动运行,可以在 WSL 的 ~/.bashrc~/.profile 文件末尾添加以下命令:

# 自动启动 MySQL 和 Redis
sudo service mysql start > /dev/null 2>&1
sudo service redis-server start > /dev/null 2>&1

提示:为了避免每次启动都输入密码,可以配置 sudoers 文件,使当前用户免密执行 service 命令。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐