修复 Windows 环境下的程序访问 WSL 中的 MySQL 提示 Access Denied 的问题

症状

Windows 10 版本 1803 + Ubuntu 18.04
位于 Windows 下的程序(例如Navicat)连接 MySQL 提示 Access Denied
同样位于 WSL 的程序可以正常访问 MySQL

原因

MySQL 把 Windows 下的程序的连接视为远程 MySQL 请求,若你使用的 MySQL 用户没有远程权限,则会出错。
WSL 特性?#(滑稽)

解决办法

WSL 输入 mysql -uroot

use mysql;
update user set host = '%' where user = 'root';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '' WITH GRANT OPTION;
FLUSH PRIVILEGES;

现在就可以使用 root 连接了(无密码,本地开发环境搞个毛的密码)


正在加载评论。你可能需要科学上网才能正常加载评论区