在 WSL2 Ubuntu 20.04 上安装 MySQL 并配置账户

没想到在子系统上装 MySQL 还要专门记录一下,微软的官方文档实在是一言难尽……

需要注意的是不要同时在 Windows 和子系统上安装 MySQL, 两者会有冲突。在子系统上安装时需要先卸载 Windows 上的 MySQL 。

首先安装 MySQL

1
sudo apt install mysql-server mysql-client

完成后查一下 MySQL 版本:

1
mysql --version
1
mysql  Ver 8.0.28-0ubuntu0.20.04.3 for Linux on x86_64 ((Ubuntu))

接下来进入 MySQL, 这时有两种方法进入 MySQL, 直接用 sudo mysql 或者查看 MySQL 的配置文件 sudo cat /etc/mysql/debian.cnf:

1
2
3
4
5
6
7
8
9
10
11
# Automatically generated for Debian scripts. DO NOT TOUCH!
[client]
host = localhost
user = debian-sys-maint
password = dPuEW5dxRf3kYIWo
socket = /var/run/mysqld/mysqld.sock
[mysql_upgrade]
host = localhost
user = debian-sys-maint
password = <password>
socket = /var/run/mysqld/mysqld.sock

用里面的 debian-sys-maint 账户: mysql -uroot -p 然后输入倒数第二行的密码就可以进了。

进入到 MySQL 环境后首先给 root 用户改密码:

1
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '1234';

要注意 MySQL 版本不同改密码的命令也不一样,上面的语句对 MySQL 8 或以上的有效。

也可以给当前子系统的账户创建一个账户:

1
CREATE USER '{YOURNAME]'@'localhost' IDENTIFIED BY '1234';

查看默认端口号:

1
show global variables like 'port';