一、MySQL 5.7
问题一:启动报错
No directory, logging in with HOME=/
mkdir: cannot create directory ‘//.cache’: Permission denied
-su: 19: /etc/profile.d/wsl-integration.sh: cannot create //.cache/wslu/integration: Directory nonexistent
解决办法:
usermod -d /var/lib/mysql/ mysql
问题二: 账号密码都对的情况,在Win下使用 Navicat 连接localhost
出现 不能访问的问题
Access Denied for user 'root'@localhost
原因: MySQL 5.5.10 使用 auth_socket_authentication
,并设置此方法为默认认证方法
mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;
+------------------+-------------------------------------------+-----------------------+-----------+
| user | authentication_string | plugin | host |
+------------------+-------------------------------------------+-----------------------+-----------+
| root | | auth_socket | localhost |
| mysql.session | *XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | mysql_native_password | localhost |
| mysql.sys | *XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | mysql_native_password | localhost |
| debian-sys-maint | *XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | mysql_native_password | localhost |
| root | *XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | mysql_native_password | % |
+------------------+-------------------------------------------+-----------------------+-----------+
5 rows in set (0.00 sec)
解决办法:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Xxxx';
Query OK, 0 rows affected (0.00 sec)
再次查看可发现认证方法已改变
mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;
+------------------+-------------------------------------------+-----------------------+-----------+
| user | authentication_string | plugin | host |
+------------------+-------------------------------------------+-----------------------+-----------+
| root | *XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | mysql_native_password | localhost |
| mysql.session | *XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | mysql_native_password | localhost |
| mysql.sys | *XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | mysql_native_password | localhost |
| debian-sys-maint | *XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | mysql_native_password | localhost |
| root | *XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX | mysql_native_password | % |
+------------------+-------------------------------------------+-----------------------+-----------+
5 rows in set (0.00 sec)
此时,再使用 Navicat 可成功以localhost
连接WSL2下的 MySQL。
二、设置默认root 账户启动
在 cmd
中执行:
ubuntu1804.exe config --default-user root
三、网络代理
1.ping 不通主机
关闭主机防火墙或自定义防火墙入站规则:
- 打开“网络和防火墙保护”,“高级设置”,右键“入站规则”,“新建规则”
- 规则类型选“自定义”
- 程序选“所有程序”
- 协议和端口中的“协议类型”选“任何”
- 作用域中,在“本地IP地址”中,选中“下列IP地址”,添加主机IP
- 操作和配置文件不变,随便取个名字,保存
2.设置网络代理
在 ~/.bashrc
中增加:
# 获取主机 IP
# 主机 IP 保存在 /etc/resolv.conf 中
export hostip=$(cat /etc/resolv.conf |grep -oP '(?<=nameserver\ ).*')
alias setss='export https_proxy="http://${hostip}:7890";export http_proxy="http://${hostip}:7890";export all_proxy="socks5://${hostip}:7891";'