利用WSL快速搭建mysql服务器

利用WSL快速搭建mysql服务器

Table of Contents

操作系统版本

Host OSVirtual PlatformLinux ReleaseDocker
windows 11WSL2debian 12Docker Engine-Community 28.0.1

docker部署mysql服务

  1. 配置docker镜像源
sudo tee /etc/docker/daemon.json > /dev/null << 'EOF'
{
  "registry-mirrors": [
     "https://docker.xuanyuan.me"
  ]
}
EOF
  1. 部署mysql服务
# 启动docker
sudo service docker start
# 拉取mysql镜像
docker pull mysql:latest
# 启动mysql服务,root密码设置为pswd1234
docker run -d --name mysql-server -p 3306:3306 -e MYSQL_ROOT_PASSWORD=pswd1234 --restart=always mysql:latest --bind-address=0.0.0.0
  1. 配置mysql
# root用户登录,密码pswd1234
docker exec -it mysql-server mysql -u root -p
# 创建数据库
CREATE DATABASE test;
# 创建用户alan,密码alan
CREATE USER 'alan'@'%' IDENTIFIED BY 'alan';
# 设置用户权限
GRANT ALL PRIVILEGES ON test.* TO 'alan'@'%';
# 设置远程访问认证方式
ALTER USER 'alan'@'%' IDENTIFIED WITH mysql_native_password BY 'alan';
# 结束设置
FLUSH PRIVILEGES;

配置WSL网络

1、打开WSL settings->网络,确认当前网络模式是否是镜像模式(Mirrored),若不是,切换至镜像模式。

WSL网络设置

Tip

NAT模式也可以支持远程访问,前提是要配置端口转发策略,镜像模式更简单。

2、如果1中修改了网络模式,需要重启WSL使其生效,管理员身份打开powershell,执行:

# 关闭wsl
wsl --shutdown
# 启动wsl
wsl
# 设置host防火墙策略,放行3306端口
New-NetFirewallRule -DisplayName "Allow Mysql Port 3306" -Direction Inbound -Protocol TCP -LocalPort 3306 -Action Allow
Tags :