在 WSL2 Ubuntu22.04环境安装 MySQL
一、安装步骤
1.1. 确保/etc/apt/sources.list
源配置文件一切正常
sudo nano /etc/apt/sources.list
需要包括以下内容
deb http://archive.ubuntu.com/ubuntu/ focal main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ focal main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://security.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://archive.ubuntu.com/ubuntu/ focal-backports main restricted universe multiverse
1.2. 更新系统
确保 WSL 上的 Linux 发行版是最新的。打开 WSL 终端,执行以下两条命令更新系统:
检查更新
sudo apt update
更新
sudo apt upgrade -y
1.3. 安装 MySQL
接下来,安装 MySQL 的服务器和客户端。
sudo apt install mysql-server -y
1.4. 配置 MySQL
安装完成后,MySQL 需要进行基本的配置。运行 MySQL 的安全配置脚本:
sudo mysql_secure_installation
这将引导你设置 root 密码、删除匿名用户、禁止 root 远程登录等安全配置。
1.5. 启动 MySQL 服务
启动 MySQL 服务:
sudo service mysql start
你可以使用以下命令检查 MySQL 服务的状态:
sudo service mysql status
1.6. 登录 MySQL
成功启动 MySQL 后,可以使用以下命令登录到 MySQL:
sudo mysql -u root -p
输入你在配置中设置的 root 密码。
1.7. 设置 MySQL 开机自启
如果你希望 MySQL 在每次启动 WSL 时自动启动,可以设置它为开机自启:
sudo systemctl enable mysql
1.8. (可选) 修改 MySQL 配置以允许远程访问
如果想让 MySQL 允许远程连接,需要修改 MySQL 的配置文件 my.cnf
。打开配置文件:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
将 bind-address
修改为 0.0.0.0
,允许任何主机连接:
bind-address = 0.0.0.0
保存并退出编辑器。
然后,重启 MySQL 服务:
sudo service mysql restart
此时,你可以从远程机器连接到 MySQL 服务了。
1.9. 测试 MySQL 是否正常工作
在 MySQL 中创建一个测试数据库:
CREATE DATABASE testdb;
查看是否可以创建数据库:
SHOW DATABASES;
如果能看到 testdb
数据库,说明 MySQL 安装成功。
二、出现的问题/报错以及解决方式
2.1. 错误提示 E: Unable to locate package mysql-community-server
在 WSL2 中安装 MySQL 时,错误提示 E: Unable to locate package mysql-community-server
是因为 MySQL 的 mysql-community-server
包不在 Ubuntu 的默认软件源中。确认1.1中的检查/etc/apt/sources.list
已做,需要启用 Ubuntu 的官方存储库,并配置 MySQL 的相关存储库。
如果都没有的话,就手动添加MySQL APT存储库
2.1.1. 添加 MySQL APT 存储库
首先,下载并安装 MySQL APT 存储库配置包,以便从官方源获取 MySQL。
wget https://dev.mysql.com/get/mysql-apt-config_0.8.17-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.17-1_all.deb
在安装过程中,它会提示你选择 MySQL 的版本。你可以选择默认的(通常是最新的稳定版)。
最外面的三个选项均需要进入确认一遍!
MySOL Server & cluster(Currently selected: mysql-8.0)
MySOL Tools & Connectors(Currently selected: Enabled)
MySQL Preview Packages(currently selected: Disabled)
Ok
确认当前的选项是否正确配置,最后选择OK,即完成安装。
2.1.2. 更新 APT 包列表
添加完 MySQL APT 存储库后,更新系统的软件包列表:
sudo apt update
可以更新表示添加成功。
2.2. 错误提示The following signatures couldn't be verified because the public key is not available: NO_PUBKEY B7B3B788A8D3785C
在系统已经添加MySQL存储库后,执行sudo apt update
这条命令,报错如下
root@LAPTOP-SIC0EVBG:/home/yyq# sudo apt update
Ign:1 http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu focal InRelease
Get:2 http://mirrors.tuna.tsinghua.edu.cn/ros2/ubuntu focal InRelease [4685 B]
Get:3 http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu focal Release [3797 B]
Get:4 http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu focal Release.gpg [833 B]
Get:5 https://mirrors.aliyun.com/docker-ce/linux/ubuntu focal InRelease [57.7 kB]
Get:6 http://mirrors.tuna.tsinghua.edu.cn/ros2/ubuntu focal/main amd64 Packages [1193 kB]
Get:7 https://mirrors.aliyun.com/docker-ce/linux/ubuntu focal/stable amd64 Packages [51.8 kB]
Get:8 http://repo.mysql.com/apt/ubuntu focal InRelease [12.8 kB]
Err:8 http://repo.mysql.com/apt/ubuntu focal InRelease
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY B7B3B788A8D3785C
Get:9 http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu focal/main amd64 Packages [826 kB]
Reading package lists... Done
W: GPG error: http://repo.mysql.com/apt/ubuntu focal InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY B7B3B788A8D3785C
E: The repository 'http://repo.mysql.com/apt/ubuntu focal InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
这个错误提示表示 APT 无法验证 MySQL 官方仓库的 GPG 密钥,因此无法安全地从该仓库获取软件包。要解决这个问题,你需要手动添加 MySQL 公共 GPG 密钥。以下是具体的解决步骤:
2.2.1. 下载并添加 MySQL 公共 GPG 密钥
执行以下命令来下载并添加 MySQL 官方的 GPG 密钥:
curl -fsSL https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 | sudo tee /etc/apt/trusted.gpg.d/mysql.asc
2.2.2. 确认密钥文件存在
cat /etc/apt/trusted.gpg.d/mysql.asc
要确认这里输出的内容与上面curl命令输出相同的 PGP PUBLIC KEY BLOCK
内容。确保密钥内容没有被截断。
2.2.3. 确保 MySQL 仓库使用正确的密钥
MySQL 仓库配置不能缺少 signed-by
参数,指向刚才添加的 GPG 密钥,所以要再次检查mysql.list文件
sudo nano /etc/apt/sources.list.d/mysql.list
确保里面的内容是
### THIS FILE IS AUTOMATICALLY CONFIGURED ###
# You may comment out entries below, but any other modifications may be lost.
# Use command 'dpkg-reconfigure mysql-apt-config' as root for modifications.
deb [signed-by=/etc/apt/trusted.gpg.d/mysql.asc] http://repo.mysql.com/apt/ubuntu/ focal mysql-apt-config
deb [signed-by=/etc/apt/trusted.gpg.d/mysql.asc] http://repo.mysql.com/apt/ubuntu/ focal mysql-8.0
deb [signed-by=/etc/apt/trusted.gpg.d/mysql.asc] http://repo.mysql.com/apt/ubuntu/ focal mysql-tools
#deb [signed-by=/etc/apt/trusted.gpg.d/mysql.asc] http://repo.mysql.com/apt/ubuntu/ focal mysql-tools-preview
deb-src [signed-by=/etc/apt/trusted.gpg.d/mysql.asc] http://repo.mysql.com/apt/ubuntu/ focal mysql-8.0
保存并退出编辑器(按 Ctrl + X
,然后按 Y
,最后按 Enter
)。
接着可以成功更新软件包列表
然后,你可以再次更新软件包列表:
sudo apt update
如果没有出现错误,说明 GPG 密钥已经成功添加。
原文地址:https://blog.csdn.net/m0_61780496/article/details/143798354
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!