WSL安装
-
环境要求:必须运行 Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11 才能使用以下命令。
-
安装步骤:在管理员模式下打开 PowerShell 或 Windows 命令提示符,方法是右键单击并选择“以管理员身份运行”,输入 wsl --install 命令,然后重启计算机。
wsl --install
此命令将启用运行 WSL 并安装 Linux 的 Ubuntu 发行版所需的功能。
注意:上述命令仅在完全未安装 WSL 时才有效,如果运行 wsl --install 并查看 WSL 帮助文本,请先卸载本机所存在的WSL:
执行: wsl --unregister Legacy
WSL安装8.0版本MySQL
WSL环境是最新的Ubuntu22.04版本,这个版本的软件商店内置的MySQL是8.0版本
所以直接可以通过apt安装即可
安装操作需root权限,你可以:
-
通过 sudo su -,切换到root用户
-
或在每一个命令前,加上sudo,用来临时提升权限
安装
-
更新apt仓库信息
apt update
-
安装mysql
apt install -y mysql-server
-
启动MySQL
/etc/init.d/mysql start # 启动 /etc/init.d/mysql stop # 停止 /etc/init.d/mysql status # 查看状态
-
登陆MySQL设置密码
# 直接执行:mysql mysql
-
设置密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
-
退出MySQL控制台
exit
-
对MySQL进行初始化 (这一步可能会出现和下列图片不同的部分,我们可以按需选择)
# 执行如下命令,此命令是MySQL安装后自带的配置程序 mysql_secure_installation # 可以通过which命令查看到这个自带程序所在的位置 root@DESKTOP-Q89USRE:~# which mysql_secure_installation /usr/bin/mysql_secure_installation
-
输入密码:
-
是否开启密码验证插件,如果需要增强密码安全性,输入
y
并回车,不需要直接回车(课程中选择直接回车) -
是否更改root密码,需要输入
y
回车,不需要直接回车(课程不更改) -
是否移除匿名用户,移除输入
y
回车,不移除直接回车(课程选择移除) -
是否进制root用户远程登录,禁止输入
y
回车,不禁止直接回车(课程选择不禁止) -
是否移除自带的测试数据库,移除输入
y
回车,不移除直接回车(课程选择不移除) -
是否刷新权限,刷新输入
y
回车,不刷新直接回车(课程选择刷新)
-
-
重新登陆MySQL(用更改后的密码)
mysql -uroot -p
9. 修改root用户密码
登录到MySQL之后,需要将自动生成的不便记忆的密码修改了,修改成自己熟悉的便于记忆的密码。
ALTER USER 'root'@'localhost' IDENTIFIED BY '1234';
执行上述的SQL会报错,原因是因为设置的密码太简单,密码复杂度不够。我们可以设置密码的复杂度为简单类型,密码长度为4。
set global validate_password.policy = 0;
set global validate_password.length = 4;
降低密码的校验规则之后,再次执行上述修改密码的指令。
10. 创建用户
默认的root用户只能当前节点localhost访问,是无法远程访问的,我们还需要创建一个root账户,用户远程访问
create user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '1234';
11. 并给root用户分配权限
grant all on *.* to 'root'@'%';
12. 重新连接MySQL
mysql -u root -p
然后输入密码
最关键的一步-使WSL能够访问主机
1.用管理员模式打开PowerShell
2.输入如下命令添加防火墙规则, 来允许WSL2访问
New-NetFirewallRule -DisplayName "WSL" -Direction Inbound -InterfaceAlias "vEthernet (WSL)" -Action Allow
3.打开"控制面板\系统和安全\Windows Defender 防火墙"-高级设置, 可在入站规则中看到WSL, 证明防火墙规则添加成功。
4.修改bind-address
执行以下指令之后:
cd /etc/mysql
vim mysql.conf.d
出现:
移动光标到mysqld.cnf , 单击回车,找到这一行:
bind-address = 127.0.0.1
在前面加 #
注释掉即可
使用service mysql restart
或者systemctl restart mysql.service
重启MySQL服务。
使用datagrip远程连接WSL下的MySQL数据库。
12. 通过DataGrip远程连接MySQL
在WSL中执行ifconfig
获取ip
在datagrip中添加如下:
参考文章:https://blog.csdn.net/jiangzhuang321/article/details/124166522
参考文档:b站黑马程序员MySQL,课程中的进阶篇文档中的MySQL的安装。具体文档可以看我上传的资源,也可以到视频评论区下载
参考文章: mysql8.0远程配置