Pycharm社区版连接WSL2中的Mysql8.*

当前时间2023.08.13,Windows11中默认的WSL版本已经是2了,在WSL2中默认的Ubuntu版本已经是22.04,而Ubuntu22.04中默认的Mysql版本已经是8.*。


Wsl 2 中安装mysql

WSL2中安装Mysql的方法参考自微软官方文档【开始使用适用于 Linux 的 Windows 子系统上的数据库】,可放心食用。

若要在 WSL 上运行的 Linux 分发版上安装 MySQL,只需按照 MySQL 文档中的在 Linux 上安装 MySQL 说明进行操作。可能需要首先在配置文件中wsl.conf启用系统支持。

使用 Ubuntu 分发的示例:

  1. 打开 Ubuntu 命令行并更新可用的包: sudo apt update
  2. 更新该包后,使用以下命令安装 MySQL:sudo apt install mysql-server
  3. 确认安装并获取版本号:mysql --version
  4. 启动 MySQL 服务器/检查状态:systemctl status mysql
  5. 若要打开 MySQL 提示符,请输入:sudo mysql
  6. 若要查看可用的数据库,请在 MySQL 提示符中输入:SHOW DATABASES;
  7. 若要创建新数据库,请输入:CREATE DATABASE database_name;
  8. 若要删除数据库,请输入: DROP DATABASE database_name;

安装Pycharm插件

在社区版的Pycharm中,默认是没有DATABASE标签的,需要使用第三方插件,首先是插件的安装

  1. ctrl + alt + s 打开设置面板
  2. Plugins中搜索database,选择第一个安装。
    Pycharm社区版连接WSL2中的Mysql8.*_第1张图片

设置mysql

Wsl下的Mysql安装默认是没有密码的直接使用sudo mysql就能登陆。

  1. 编辑配置文件vi /etc/mysql/mysql.conf.d/mysqld.cnf,注释掉31和32两行。
 31 # bind-address          = 127.0.0.1
 32 # mysqlx-bind-address   = 127.0.0.1

注意:

  1. mysqld.cnf,不是mysql.cnf,注意名称;
  2. 是注释掉这两行,而不是解注释!
  1. 登录MySQL,直接执行sudo mysql,执行以下命令,修改root用户的host值。
# 使用mysql 数据库
mysql > use mysql;
# 特定用户的host 修改
mysql > update user set host='%' where user='root';
# 指定用户的授权
mysql > grant all privileges on test.* to root@'%'
  1. 添加用于远程访问的用户“test”。
# root用户没有SYSTEM_USER权限,需要先赋权
grant system_user on *.* to 'root';
# mysql 8.0 以后需要用如下命令开启远程服务,其中添加了 用户名/密码:test/123456 的用户
CREATE USER 'test'@'%' IDENTIFIED BY '123456';
GRANT ALL ON *.* TO 'test'@'%'; 
ALTER USER 'test'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
FLUSH PRIVILEGES;

执行完以上代码后,重启mysql服务service mysql restart

远程访问

具体操作如下图所示:
(文字有点跑偏,凑合一下)
Pycharm社区版连接WSL2中的Mysql8.*_第2张图片

参考资料

  1. 在windows下远程调用、连接(navicat)wsl2中 mysql 8.* 的详细步骤
  2. 解决mysql8 提示 ERROR 1410 (42000): You are not allowed to create a user with GRANT
  3. 开始使用适用于 Linux 的 Windows 子系统上的数据库

你可能感兴趣的:(pycharm,ide,python,mysql8,wsl2,wsl)