修复 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

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

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


0  字
评论