如何在 Ubuntu 24.04/22.04/20.04 上安装 MySQL 8.0

如果您喜欢此文章,请收藏、点赞、评论,谢谢,祝您快乐每一天。

MySQL 8.0 是一款强大、可靠、高性能的关系数据库管理系统,广泛应用于从 Web 开发到数据仓库等各种应用。MySQL 8.0 以其先进的功能(例如改进的 JSON 支持、窗口函数和强大的安全性增强)而闻名,是开发人员和数据库管理员的首选。

本指南将演示使用命令行终端在 Ubuntu 24.04、22.04 或 20.04 上安装 MySQL 8.0 的两种方法。您可以使用 Ubuntu 默认 APT 仓库中提供的版本,也可以直接从 MySQL 官方 APT 仓库选择最新的稳定版本,确保您能够灵活地选择最符合您需求的选项。

在安装 MySQL 8.0 之前刷新 Ubuntu 软件包

在开始安装过程之前更新系统始终是一个好习惯。此过程可确保所有现有软件包都是最新的,从而最大限度地减少 MySQL 8.0 安装期间发生冲突的可能性。

运行以下命令来更新和升级您的系统:

sudo apt update

sudo apt upgrade

选择 MySQL 8.0 APT 安装选项

有两种方法可以在 Ubuntu 系统上安装 MySQL 8.0。您可以利用 Ubuntu 的默认存储库,也可以导入 MySQL 的官方 APT 存储库。

选项 1:使用 Ubuntu 存储库安装 MySQL 8.0

如果您寻求一种优先考虑系统稳定性的方法,则建议使用此方法。从 Ubuntu 的默认存储库安装 MySQL 可确保获得稳定且经过全面测试的 MySQL 8.0 版本。

要使用此方法安装 MySQL,请执行以下命令:

sudo apt install mysql-server

选项 2:使用 MySQL 社区服务器安装 MySQL 8.0

此方法适合那些希望直接从 MySQL 代码库获取最新稳定版 MySQL 8.0 的用户。这种方法可以快速改进,尤其适用于满足您的系统需求的用户。

安装 MySQL 所需的软件包:

在继续此方法之前,您必须安装一些必要的软件包,通常在大多数 Ubuntu 系统中。

但是,为了安全起见,请运行以下命令以确保它们已安装:

sudo apt install dirmngr ca-certificates software-properties-common apt-transport-https curl lsb-release -y

导入 MySQL 8.0 社区服务器存储库:

要从官方存储库安装 MySQL,请将其 GPG 密钥和存储库导入到您的系统中。操作方法如下:

导入 GPG 密钥:

curl -fsSL http://repo.mysql.com/RPM-GPG-KEY-mysql-2022 | sudo gpg --dearmor | sudo tee /usr/share/keyrings/mysql.gpg > /dev/null

然后,导入 MySQL 8.0 存储库:

echo "deb arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/mysql.gpg http://repo.mysql.com/apt/ubuntu $(lsb_release -cs) mysql-8.0" | sudo tee -a /etc/apt/sources.list.d/mysql.list

如果您是开发人员或有特定要求,您可以选择导入 MySQL 源存储库:

echo "deb-src arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/mysql.gpg http://repo.mysql.com/apt/ubuntu $(lsb_release -cs) mysql-8.0" | sudo tee -a /etc/apt/sources.list.d/mysql.list

开发人员还可以按如下方式导入 MySQL 工具存储库:

echo "deb arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/mysql.gpg http://repo.mysql.com/apt/ubuntu (lsb_release -cs) mysql-tools" \| sudo tee -a /etc/apt/sources.list.d/mysql.list echo "deb-src \[arch=(dpkg --print-architecture) signed-by=/usr/share/keyrings/mysql.gpg] http://repo.mysql.com/apt/ubuntu $(lsb_release -cs) mysql-tools" | sudo tee -a /etc/apt/sources.list.d/mysql.list

添加存储库后,您可以通过执行以下命令来验证更改:

grep mysql /etc/apt/sources.list.d/mysql.list

示例输出:

joshua@ubuntu-linux:~$ grep mysql /etc/apt/sources.list.d/mysql.list

deb arch=amd64 signed-by=/usr/share/keyrings/mysql.gpg http://repo.mysql.com/apt/ubuntu jammy mysql-8.0

deb-src arch=amd64 signed-by=/usr/share/keyrings/mysql.gpg http://repo.mysql.com/apt/ubuntu jammy mysql-8.0

deb arch=amd64 signed-by=/usr/share/keyrings/mysql.gpg http://repo.mysql.com/apt/ubuntu jammy mysql-tools

deb-src arch=amd64 signed-by=/usr/share/keyrings/mysql.gpg http://repo.mysql.com/apt/ubuntu jammy mysql-tools

导入 MySQL 8.0 后更新 APT 缓存:

现在您已成功导入 MySQL APT 存储库,现在是时候刷新高级包工具 (APT) 缓存以识别新添加的存储库了。

运行以下命令来更新 APT 缓存:

sudo apt update

通过 APT 命令安装 MySQL 8.0 社区版服务器:

满足所有先决条件后,我们现在可以安装 MySQL 8.0 社区版服务器了。运行以下命令开始安装:

sudo apt install mysql-community-server

安装过程中,系统会提示您为 MySQL 根用户设置密码。请确保此密码安全,并记下以备将来参考。确认密码后,系统会要求您选择默认身份验证插件。如有疑问,请选择 MySQL 推荐的"使用强密码加密"。

在 Ubuntu Linux 上为 MySQL 8.0 社区版配置 root 密码

在 Ubuntu Linux 上为 MySQL 8.0 Community 选择身份验证选项

要确认安装,请使用以下命令检查已安装的 MySQL 版本:

apt policy mysql-community-server

在 Ubuntu Linux 上对 MySQL 8.0 社区版本进行 apt policy 命令版本检查的示例

MySQL 8.0 的服务命令

安装 MySQL 8.0 社区版服务器后,系统会自动激活 MySQL 服务并将其设置为开机自启动。了解基本的服务管理命令对于高效操作数据库服务器至关重要。

安装完成后,首要任务之一是确认 MySQL 服务是否按预期运行。使用systemctl专门为与 systemd 服务交互而定制的命令,您可以查看 MySQL 服务的当前状态。执行以下命令:

systemctl status mysql

MySQL 8.0 社区版本在 Ubuntu Linux 上的 systemctl 状态

操作成功后,状态消息应表明服务处于活动状态并且正在正常运行。

了解如何管理 MySQL 服务对于维护数据库服务器至关重要。systemctl您可以使用各种命令直接与 MySQL 服务交互。以下是一些基本命令的概述:

停止 MySQL 服务

要在任何给定时间停止 MySQL 服务,请使用以下命令:

sudo systemctl stop mysqld

启动 MySQL 服务

如果您的 MySQL 服务未运行,或者您已停止它,请使用以下命令重新启动它:

sudo systemctl start mysqld

在系统启动时禁用 MySQL 服务

在某些情况下,您可能不希望 MySQL 服务在系统启动时自动启动。要禁用自动启动,请使用以下命令:

sudo systemctl disable mysqld

在系统启动时启用 MySQL 服务

要恢复上述操作并将 MySQL 服务设置为在系统启动时自动启动,请使用以下命令:

sudo systemctl enable mysqld

重新启动 MySQL 服务

如果需要重新启动 MySQL 服务(例如,在进行配置更改后),请使用以下命令:

sudo systemctl restart mysqld

在 Ubuntu 22.04 或 20.04 上保护 MySQL 8.0

安装 MySQL 后,某些默认设置可能无法满足所有安全标准,从而可能使您的数据库面临入侵或漏洞利用的风险。安装后,一个至关重要的步骤是增强 MySQL 实例的安全性。MySQL 提供了一个安全脚本mysql_secure_installation,可以帮助您加强数据库的安全性。

在 Ubuntu 上运行 MySQL 安全脚本****

mysql_secure_installation脚本是 MySQL 软件包的一部分,用于增强安全性。通过发出以下命令启动脚本:

sudo mysql_secure_installation

与 Ubuntu 上的安全脚本交互

运行该命令后,脚本会提示您输入 root 密码,该密码最初是在 MySQL 安装期间设置的。您将看到有关"验证密码"组件的提示,该组件用于强制执行密码强度策略。通常,默认设置即可。

然后,脚本将引导您完成一系列步骤:

1. Root账户的密码设置

在这里,您可以重置 root 密码。但是,如果您在初始安装时已经设置了密码,则可以选择跳过此步骤。脚本要求您输入两次新密码进行验证。

New password: <---- SET NEW PASSWORD

Re-enter new password: <---- RE-ENTER NEW PASSWORD

2. 删除匿名用户

MySQL 默认包含一个匿名用户帐户。此帐户允许任何人在未拥有经过身份验证的用户帐户的情况下登录 MySQL,这可能是一个重大的安全风险。该脚本可让您删除这些匿名用户帐户:

Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y <---- Type Y then press the ENTER KEY.

3. 禁止远程 Root 登录

在标准安全协议中,root 用户应该只被允许从"localhost"进行连接。此协议可确保减少远程尝试猜测 root 密码的风险。该脚本会要求您确认停用远程 root 登录:

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y <---- Type Y then press the ENTER KEY.

4. 删除测试数据库

默认情况下,MySQL 安装包含一个"测试"数据库。任何人都可以访问此数据库,并且它仅用于测试目的。在将您的设置移至生产环境之前,务必删除测试数据库并访问它:

Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y <---- Type Y then press the ENTER KEY.

5. 重新加载权限表

重新加载权限表可让您迄今为止所做的所有更改立即生效:

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y <---- Type Y then press the ENTER KEY.

通过遵循这些步骤并确认安全更改,您可以增强 MySQL 服务器安装的安全性,从而降低潜在漏洞的风险。

管理 MySQL 8.0

管理 MySQL 服务器涉及多项常规任务,例如更新、升级以及必要时的卸载。Ubuntu Linux 为这些任务提供了高效的命令行实用程序,确保您的 MySQL 服务器保持最新且安全。

更新 MySQL 8.0

定期更新对于维护 MySQL 服务器的平稳运行至关重要。这些更新通常会带来错误修复、安全补丁和新功能,有助于增强服务器的整体安全性和功能。

由于您已将官方 MySQL APT 存储库添加到系统中,因此更新 MySQL 非常简单。以下命令结合了两个不同的命令:sudo apt update 和 sudo apt upgrade。

sudo apt update && sudo apt upgrade

sudo apt update 命令会检索哪些软件包可以升级(包括 MySQL,如果有更新可用)的信息。另一方面,sudo apt upgrade 会升级实际的软件包。

删除 MySQL 8.0

在某些情况下,您可能不再需要 Ubuntu 系统上的 MySQL 服务器。卸载过程包括停止 MySQL 服务并删除软件及相关依赖项。

在 Ubuntu 上停止 MySQL 服务

卸载之前,请确保 MySQL 服务未运行。使用以下命令立即停止该服务:

sudo systemctl stop mysql --now

删除 MySQL 及其依赖项

现在,您可以删除 MySQL 服务器了;任何相关的软件包都不再需要了。sudo apt autoremove 命令在这方面非常高效:

sudo apt autoremove mysql-community-server

或者,如果您使用的是 Ubuntu 版本,请使用以下命令:

sudo apt autoremove mysql-server

此命令删除 MySQL 服务器并清理未使用的包或依赖项,释放系统资源。

删除 MySQL 8.0 存储库

如果您不再打算使用 MySQL,并且之前已导入 MySQL 8.0 社区存储库,那么从系统中删除该存储库是一个好习惯。使用以下命令从 sources.list.d 目录中删除 MySQL 列表文件:

sudo rm /etc/apt/sources.list.d/mysql.list

此步骤可确保您的系统在系统范围升级期间不会尝试检查 MySQL 存储库的更新,从而使您的 APT 源保持精简。

结论

在本指南中,我们详细介绍了在 Ubuntu 24.04、22.04 或 20.04 上安装 MySQL 8.0 的两种有效方法。无论您选择 Ubuntu 默认 APT 仓库中的版本,还是直接从 MySQL 官方 APT 仓库中选择最新的稳定版本,您现在都已掌握了根据需求设置 MySQL 的知识。我的最终建议是使用官方 MySQL 仓库来获取最新的功能和更新。

如果您喜欢此文章,请收藏、点赞、评论,谢谢,祝您快乐每一天。

相关推荐
戴为沐10 小时前
Linux内存扩容指南
linux
zylyehuo20 小时前
Linux 彻底且安全地删除文件
linux
这个DBA有点耶1 天前
GROUP BY优化全解:如何写出既不丢数据又飞快的分组查询
数据库·mysql·架构
掉头发的王富贵1 天前
【StarRocks】极限十分钟入门StarRocks
数据库·sql·mysql
用户805533698031 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297911 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux
SamDeepThinking1 天前
一条UPDATE语句在MySQL 8.0中到底加了几把锁?
后端·mysql·程序员
Web3探索者3 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
李白客3 天前
KES新版MySQL兼容能力再升级意味着什么?
mysql·国产数据库
zylyehuo3 天前
Linux系统中网线与USB网络共享冲突
linux