WSL运行Mysql客户端的方法

618 阅读1分钟

作为常年使用Mac的开发者,我现在Windows上工作。希望把Mac的体验移动过来。方法是充分利用WSL。

尽管WSL被很多人diss,但是对我的场景来说,还是相当不错的。

服务器mysqld跑在Windows上,然后在WSL上跑mysql的客户端,还是比较方便的。但是注意遇到的一个坑。

直接执行

sudo mysql 或者
sudo mysql -hlocalhost -uUser -pPassword 

会报错:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

使用IP作为主机名就是可以的。比如

sudo mysql -h127.0.0.1 -uUser -pPassword 
sudo mysql -h10.27.10.80 -uUser -pPassword 

看起来差别不大,但是花费了我不少时间。

现在,我的技术栈中的node ,当然node也必须在WSL上自己安装,而不能直接使用Windows上已经安装的node:

sudo apt install nodejs

mysqlclient都可以在WSL上跑,这样的化:

  1. 就可以利用设计精良的Linux Bash,感觉体验舒服多了
  2. WSL比起真正的虚拟机来说,快速的多