在 WSL2 Ubuntu22.04环境安装 MySQL

embedded/2024/11/20 9:39:32/

一、安装步骤

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 安装成功。

二、出现的问题/报错以及解决方式

mysqlcommunityserver_130">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,即完成安装。

MySOL Server & cluster(**Currently selected: <a class=mysql-8.0**)选项内部截图" />

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 密钥已经成功添加。


http://www.ppmy.cn/embedded/139041.html

相关文章

NPOI 实现Excel模板导出

记录一下使用NPOI实现定制的Excel导出模板&#xff0c;已下实现需求及主要逻辑 所需Json数据 对应参数 List<PurQuoteExportDataCrInput> listData [{"ItemName": "电缆VV3*162*10","Spec": "电缆VV3*162*10","Uom":…

视频直播5G CPE解决方案:ZX7981PG/ZX7981PMWIFI6网络覆盖

方案背景 视频直播蓬勃发展的当下&#xff0c;传统直播网络联网方式的局限性越来越明显。目前传统直播的局限性主要集中在以下几个方面&#xff1a; 传统直播间网络架构条件有限&#xff0c;可连接WIFI数量少&#xff0c;多终端同时直播难以维持&#xff1b;目前4G网络带宽有限…

《物理学进展》

投稿指南 《物理学进展》是中国物理学会主办的物理类刊物&#xff0c;双月刊&#xff0c;为国家中文核心期刊。刊稿内容包括物理学的各分支学科&#xff0c;着重反映物理学前沿领域的重大突破和新兴方向中的活跃状态&#xff0c;以及传统和交叉学科的最新进展。稿件类型包括对某…

2025考研政治徐涛背诵手册(电子版pdf)无套路免费分享

每天都在努力为大家搜集和整理优质的资源&#xff0c;内容涵盖学习、生活、娱乐等方方面面。这些资源可能不会立即改变你的生活&#xff0c;但我希望它们能够为你带来新的视角、新的知识&#xff0c;甚至一点点启发。无论你是为了提升自我、丰富日常&#xff0c;还是在忙碌之余…

【后端速成Vue】Vue 的生命周期

前言&#xff1a; 本期将会介绍 Vue 的声明周期对应的钩子&#xff0c;以及理解什么时候该用什么钩子函数。 篮球哥找工作专属IT岗位内部推荐&#xff1a; 专属内推链接&#xff1a;内推通道 1、了解 Vue 的生命周期 思考&#xff1a;什么时候可以发送初始化渲染请求&#xf…

Android集成FCM(Firebace Cloud Messaging )

集成FCM官方文档 Firebace主页面 将 Firebase 添加到您的 Android 应用 1、进入Firebace页面&#xff0c;创建自己的项目 2、点击自己创建好的项目&#xff0c;在右侧选择Cloud Messaging 3、点击Android去创建 google-services.json 4、将下载的 google-services.json 文件…

Chroma致茂Chroma61815回收式电网模拟电源

Chroma致茂 Chroma61815回收式电网模拟电源 产品特色 功率规格&#xff1a; 61809&#xff1a;9kVA 61812&#xff1a;12kVA 61815&#xff1a;15kVA 电压规格&#xff1a;0~350V 频率规格&#xff1a;30Hz~100Hz/DC 3U高度具备最大15kVA之高功率密度设计 全触控面板搭配直观的…

DataStream编程模型之数据源、数据转换、数据输出

Flink之DataStream数据源、数据转换、数据输出&#xff08;scala&#xff09; 0.前言–数据源 在进行数据转换之前&#xff0c;需要进行数据读取。 数据读取分为4大部分&#xff1a; &#xff08;1&#xff09;内置数据源&#xff1b; 又分为文件数据源&#xff1b; socket…