在WSL上安装好后MySQL, 但是WSL并没有图形界面. 每次用命令行不方便. 于是想用win下面的MySQL workbench连接wsl上的MySQL.
在网上查了很多解决方案, 最后都没有解决问题. 踩了很多坑. 特此记录下解决问题的步骤, 供网友参考.
有的是直接填上wsl的ip地址和端口号3306就可以用了, 但是我的不行.
有的是修改配置文件/etc/mysql/mysql.conf.d/mysqld.cnf
, 将bind-address = 127.0.0.1
这一行配置注释掉. 也不管用.
最后发现直接修改端口号即可. 在文件/etc/mysql/mysql.conf.d/mysqld.cnf
添加port = 3307
, 然后进入数据库执行允许远程操作的命令.
这里还有个坑, 如果你用的是mysql 8.0+, 那么网上搜的有的命令是会报错的. 因为那是5.7版本用的命令. 8.0不兼容.
1 | # before 5.7 |
在8.0之后, 应该这样操作
1 | CREATE USER 'root'@'%' IDENTIFIED BY '你的密码'; |
然后重启mysql sudo service mysql restart
即可
在windows的workbench下, 使用localhost:3307
用户名为root
即可完成远程连接.
最后还要注意, 以后再连接的时候, 也必须进入wsl手动开启mysql服务sudo service mysql start
. 因为默认状态下wsl不会开启mysql服务.