在 WSL 中安装 MySQL 并使用 Windows Navicat 连接
1. WSL 中安装 MySQL
sudo apt update
sudo apt install mysql-server -y
2. WSL 配置 MySQL 允许外部连接
(1) 修改 MySQL 配置文件
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
找到 bind-address
并修改为:
bind-address = 0.0.0.0
(2) 重启 MySQL 服务
sudo service mysql restart
3. WSL IP地址获取
WSL2每次启动IP会变化,建议使用以下方法获取当前IP:
hostname -I | awk '{print $1}'
或者更简单的方法是使用 localhost
(Windows会自动转发到WSL)
4. Windows防火墙设置
确保Windows防火墙允许MySQL端口(3306)通信:
- Win+R →
wf.msc
→ “入站规则” → “新建规则” - 选择”端口” → TCP/3306 → “允许连接”
5. Navicat连接设置
- 打开Navicat → 新建连接 → MySQL
- 连接参数:
- 主机/IP地址:
localhost
(推荐)或WSL的IP地址(如172.x.x.x) - 端口:
3306
- 用户名: root (或其他有权限的用户)
- 密码: WSL中MySQL设置的密码
- 主机/IP地址:
⚠️常见问题解决
Q1: Access denied for user ‘root’@‘localhost’
解决方法:
sudo mysql -u root #登录MySQL后执行:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的新密码';
FLUSH PRIVILEGES;
Q2: Can’t connect to MySQL server on ‘localhost’ (10061)
检查WSL中MySQL是否运行:
sudo service mysql status
如果未运行则启动:
sudo service mysql start
Q3: WSL IP地址经常变化怎么办?
可以编写一个简单的脚本自动更新Windows hosts文件,或者在Navicat中使用localhost
作为主机名。
内容由零声教学AI助手提供,问题来源于学员提问