WSL 安装配置 MySQL

在 WSL 安装并配置 MySQL 与在 Ubuntu Server 安装配置 MySQL 一样的步骤。简要记录一下配置的过程。

安装 MySQL

参考微软官方文档[1]安装MySQL。

sudo apt install -y mysql-server

启动 MySQL Server:

sudo service mysql start

登录 mysql:

sudo mysql

mysql_secure_installation 会企图设置 MySQL root 用户的密码,但是 root 账户默认是不要密码登录的。因此在运行 mysql_secure_installation 移除匿名用户前要先设置 root 账户的登录认证方式为使用密码。

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
exit

然后可以使用脚本删除匿名用户和匿名用户访问的数据库[2]:

sudo mysql_secure_installation

移除匿名用户后恢复 root 用户默认的认证方式。登录 MySQL。

mysql -u root -p

修改 root 用户的认证方式为默认的,auth_socket

ALTER USER 'root'@'localhost' IDENTIFIED WITH auth_socket;

创建普通用户⛺

以 root 用户登录 mysql 是需要 sudo 的,而普通用户不需要 sudo。直接在终端通过mysql -u <username>就可以登录mysql了。

创建普通用户[3]

CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';

授权:

GRANT CREATE, ALTER, DROP, INSERT, UPDATE, INDEX, DELETE, SELECT, REFERENCES, RELOAD on *.* TO 'username'@'localhost' WITH GRANT OPTION;

查看用户的验证方式:

SELECT user,host,plugin from mysql.user;

免密码登录

创建 ~/.my.cnf 加入如下形式的配置,即可不用输入密码。为了安全可以设置权限为 600[4]

[client]
user=username
password=password

username 替换为创建的用户名,password 替换为创建用户的密码。


  1. https://learn.microsoft.com/en-us/windows/wsl/tutorials/wsl-database ↩︎

  2. https://www.nixcraft.com/t/mysql-failed-error-set-password-has-no-significance-for-user-root-localhost-as-the-authentication-method-used-doesnt-store-authentication-data-in-the-mysql-server-please-consider-using-alter-user/4233 ↩︎

  3. https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-ubuntu-22-04#step-3-creating-a-dedicated-mysql-user-and-granting-privileges ↩︎

  4. https://unix.stackexchange.com/questions/205180/how-to-pass-password-to-mysql-command-line ↩︎

posted @ 2023-06-03 16:23  wngtk  阅读(531)  评论(0编辑  收藏  举报