安装并配置远程 MySQL8.0 连接实现本机端连接 WSL 的 MySQL
安装并配置远程 MySQL8.0 连接实现本机端连接 WSL 的 MySQL
六鱼居士众所周知,在Windows环境下进行配置开发工具真是让人头疼,由于已经有了WSL2,所以在安装完Ubuntu 22.04之后对其进行MySQL的配置,踩了一些坑,特此分享并记录。
安装MySQL8.0
1. 更新本地的软件包索引
首先,打开终端并更新你的本地软件包索引。这确保你安装的是最新版本的软件包。运行以下命令:
1 | sudo apt update |
2. 安装MySQL服务器
然后,安装MySQL服务器,默认8.0版本。运行以下命令:
1 | sudo apt install mysql-server |
系统会提示你确认安装过程中需要下载的数据大小。输入 Y
继续。
3. 安全配置MySQL
完成安装后,运行 mysql_secure_installation
脚本开始进行一些安全相关的配置。这个脚本会帮助你设置root密码、删除匿名用户、限制root用户访问以及删除测试数据库。运行以下命令:
1 | sudo mysql_secure_installation |
根据提示操作。你可能会被问及是否设置VALIDATE PASSWORD PLUGIN,这可以帮助你创建更安全的密码。根据你的需要选择是否启用它。
4. 测试MySQL安装
安装完成后,你可以运行以下命令测试MySQL服务是否成功启动:
1 | sudo systemctl status mysql.service |
你应该看到服务的状态为 active (running)
。
5. 访问MySQL
默认情况下,MySQL使用 root
用户通过 sudo
命令进行管理。要登录到MySQL服务器,使用:
1 | sudo mysql |
这将让你以root用户身份登录MySQL命令行接口。
6. 设置密码和安全访问权限
设置安全权限,我一般设置为最低,因为仅仅用于测试工作
1 | sudo mysql_secure_installation |
随后如果要使用外部程序以root用户身份登录到MySQL服务器,则在root用户下进入mysql运行下面命令:
1 | USE mysql; |
随后进行MySQL的重启:
1 | service mysql restart |
配置远程MySQL连接
首先,确保MySQL配置允许监听来自除本地主机外的连接。
打开MySQL的配置文件
my.cnf
。这个文件可能位于不同的位置,通常是/etc/mysql/mysql.conf.d/mysqld.cnf
。1
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
找到
bind-address
行,它可能会设置为127.0.0.1
(只监听本地连接)。将其更改为0.0.0.0
以监听所有IPv4地址上的连接,或者如果你有具体的IP地址想要MySQL服务器监听,也可以设置为那个特定的地址。1
bind-address = 0.0.0.0
保存文件并退出编辑器。
重启MySQL服务以应用更改。
1
sudo systemctl restart mysql
其次需要设置root用户可以供远程连接:
1 | USE mysql; |
注意这里是需要双引号,不然会报错。
实现本机端连接WSL的MySQL
首先开启 WSL2 的 systemd:
1 | echo -e "[boot]\nsystemd=true" | sudo tee -a /etc/wsl.conf |
使用 exit 退出 WSL2,使用 wsl --shutdown
关闭 WSL2,再重新启动
最后更改 iptable 防火墙规则:
1 | sudo iptables -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT |
即可让 Windows 通过本地 127.0.0.1:3306 访问 WSL2 的 MySQL Server