WSL2 中安装 MySQL 并通过 Windows 连接
WSL2 最近支持了 systemd 使得 MySQL 的安装顺利了不少,在此基础上可以通过配置 MySQL 远程连接使得 Windows 的 SQL 管理软件可以直接管理 WSL2 里的 MySQL。
首先登录 WSL2 开启 WSL2 的 systemd:
nano /etc/wsl.conf
然后加入
[boot]
systemd=true
也可以通过以下命令一步到位:
echo -e "[boot]\nsystemd=true" | sudo tee -a /etc/wsl.conf
使用 exit 退出 WSL2,使用 wsl --shutdown
关闭 WSL2,再启动
然后使用 apt 安装 MySQL Server,Ubuntu 22.04 中的 MySQL 是 8.0:
sudo apt install mysql-server
然后编辑 /etc/mysql/mysql.conf.d/mysqld.cnf 修改 bind-address 为 0.0.0.0,使得 MySQL 允许外部访问:
bind-address = 0.0.0.0
然后重启 MySQL:
sudo /etc/init.d/mysql restart
然后更改 MySQL 密码:
sudo mysql
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'password';
然后初始化 MySQL:
sudo mysql_secure_installation
根据提示输入上面设置的密码然后回车,输入 n 回车,输入 y 回车,输入 n 回车,输入 y 回车,输入 y 回车
然后开放外部访问权限给 MySQL:
sudo mysql -u root -p
use mysql;
upsate user set host="%" where user="root"
最后更改 iptable 防火墙规则:
sudo iptables -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
sudo iptables-save -c
最后再执行一下上面的命令即可让 Windows 通过本地 127.0.0.1:3306 访问 WSL2 的 MySQL Server