系统极客一直在努力
专注操作系统及软件使用技能

如何在 Ubuntu 中安装、配置、管理和卸载 MySQL 8.0 服务器

MySQL

MySQL 8.0 Community Edition 是一款领先的开源、流行和跨平台的关系型数据库管理系统(RDBMS),提供了一系列专为优化数据管理而设计的功能。它支持 SQL 和 NoSQL,并具有「可插拔」的存储引擎架构。此外,它还配备了针对不同编程语言的多个数据库连接器,可以使用任何流行的语言和许多其他功能开发应用程序。

MySQL 8.0 Community Edition 在文档存储、云计算、高可用性、物联网(IoT)、Hadoop、大数据、数据仓库以及 LAMP 或 LEMP 栈支持的大容量网站/应用方面都有许多用例。本文将介绍如何在 Ubuntu 系统中安装、配置、管理和卸载 MySQL 8.0 数据库服务器。

MySQL 8.0 的主要特点和改进

  • 提升性能: MySQL 8.0 引入了性能优化,例如隐式索引和改进的哈希连接,以实现更快的数据处理和检索。
  • 改善安全性: MySQL 8.0 强调数据安全,通过高级密码加密和 SQL 角色等功能提高了安全性。
  • GIS 支持: 完全支持地理信息系统(GIS),包括在 InnoDB 上的空间索引,为地理数据管理带来了新的可能性。
  • 数据字典: 事务性数据字典提供了一个统一的系统来处理元数据,让数据管理更加连贯。
  • 增强的 JSON 支持: 改进的 JSON 函数简化了复杂 JSON 数据结构的管理。

MySQL 8.0 Community Edition 是一款强大、可靠且安全的关系数据库管理系统(RDBMS)解决方案,它带来了显著的改进和增强。不论您是数据库管理员、开发人员还是对数据库管理感兴趣,MySQL 8.0 都提供了适应各种数据管理需求的功能。

关于 MySQL 8.0 新增功能的详细介绍可以查看 MySQL 官方文档

在 Ubuntu 中安装 MySQL 8.0

更新系统软件包

在进行安装之前,更新 Ubuntu 系统是一个良好的实践。该步骤可以确保所有现有的软件包都是最新的,从而降低 MySQL 8.0 安装过程中出现冲突的可能性。

请在「终端」中运行以下命令来更新和升级 Ubuntu 系统:

sudo apt update
sudo apt upgrade

在 Ubuntu 中安装 MySQL 8.0

在 Ubuntu 系统中,有两种方法可以安装 MySQL 8.0。您可以通过 Ubuntu 的官方仓库,或者导入 MySQL 的官方仓库进行安装。

方法 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 的用户,该方式能够更快速的获取更新。

1在正式安装之前,需要安装一些必要的软件包。通常,这些软件包在大多数 Ubuntu 系统中都已经存在。但为了确保安全,建议您运行以下命令来检查它们是否已安装:

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

2要从官方仓库安装 MySQL,需要将 GPG 密钥和仓库导入到 Ubuntu 系统。请使用以下命令导入 GPG 密钥:

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

3然后,导入 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

4(可选)如果您是开发人员或具有特定需求,可以选择导入 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

5(可选)开发人员还可以使用以下命令导入 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

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

sudo apt update

7现在,所有先决条件都已经具备,请运行以下命令安装 MySQL 8.0:

sudo apt install mysql-community-server

在安装过程中,需要为 MySQL 的 root 用户设置密码,请确保此密码足够安全。确认密码后,会要求选择默认的身份验证插件。身份认证插件有如下 2 种可供选择:

  • 使用强密码加密(推荐)
  • 使用传统认证模式(MySQL 5.x 兼容)
两次输入 root 密码
两次输入 root 密码
选择 MySQL 8.0 身份认证插件
选择 MySQL 8.0 身份认证插件

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

apt policy mysql-community-server
检查已安装的 MySQL 版本
检查已安装的 MySQL 版本

使用 Systemd 管理 MySQL 8.0 服务

安装好 MySQL 8.0 Community Edition 服务器后,会自动启动 MySQL 服务,并设置为随系统启动时自动启动。要有效运行数据库服务器,了解一些基本的 Linux 服务管理命令至关重要。

首先需要确认 MySQL 服务是否按预期运行。使用 systemctl 命令,可以查看 MySQL 服务的当前状态:

systemctl status mysql
查看 MySQL 服务状态
查看 MySQL 服务状态

systemctl 命令能够直接与 MySQL 服务进行交互,以下是一些常用命令:

  • 启动 MySQL 服务: sudo systemctl start mysql
  • 停止 MySQL 服务: sudo systemctl stop mysql
  • 重启 MySQL 服务: sudo systemctl restart mysql
  • 查看 MySQL 服务状态: sudo systemctl status mysql
  • 启用 MySQL 服务随系统自动启动: sudo systemctl enable mysql
  • 禁用 MySQL 服务随系统自动启动: sudo systemctl disable mysql

上述命令可以帮助您有效地管理 MySQL 服务。

安全运行 MySQL 8.0服务器

在安装 MySQL 后,特定的默认设置可能不符合安全标准,可能会让数据库容易受到入侵或利用。因此,安装后的一个关键步骤是加强 MySQL 实例的安全性。

MySQL 提供了一个名为 mysql_secure_installation 的安全脚本,它可以帮助加强数据库的安全性。这个脚本非常有用,建议运行它以确保数据库的安全性。

在 Ubuntu 中运行 MySQL 安全脚本

mysql_secure_installation 脚本是 MySQL 软件包的一部分,专门用于增强安全性。您可以通过执行以下命令来启动该脚本:

sudo mysql_secure_installation

与 MySQL 安全脚本进行交互

运行命令后,脚本会提示您输入在 MySQL 安装过程中设置的 root 密码。接下来,会遇到一个关于「VALIDATE PASSWORD COMPONENT」的提示,该组件有助于实施密码强度策略。通常情况下,默认设置足够。然后,脚本将引导您完成一系列步骤:

1. Password Settings for Root Accounts

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

New password: <---- 设置新密码
Re-enter new password: <---- 再次验证新密码

2.Removal of Anonymous Users

MySQL 默认情况下包含一个 Anonymous 匿名用户账户。该账户允许任何人在没有经过身份验证的情况下登录到 MySQL,可能造成重大安全风险。可以通过脚本删除匿名用户账户:

Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y <---- 输入 Y 并按回车确认。

3. Disallowing Root Login Remotely

在标准安全协议中,root 用户应仅允许从「localhost」连接。该协议可以减少远程尝试猜测 root 密码的风险。脚本要求您确认停用远程 root 登录:

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y <---- 输入 Y 并按回车确认。

4. Removal of Test Database

默认情况下,MySQL 安装包含一个名为「test」的测试数据库。这个数据库任何人都可以访问。在将设置移至生产环境之前,需要删除「test」 数据库并禁止访问它:

Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y <---- 输入 Y 并按回车确认。

5. Reloading Privilege Tables

重新加载权限表,让所做的所有更改立即生效:

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y <---- 输入 Y 并按回车确认。
与 mysql_secure_installation 脚本进行交互
与 mysql_secure_installation 脚本进行交互

通过这些步骤并确认安全性更改,可以增强 MySQL 服务器的安全性,减轻潜在攻击的风险。

在 Ubuntu 中更新或卸载 MySQL 8.0

管理 MySQL 服务器涉及几个常规任务,包括更新、升级和必要时的卸载。Ubuntu 提供了高效的命令行工具来完成这些任务,以确保 MySQL 服务器保持最新和安全。

更新和升级 MySQL 8.0

定期更新和升级对于保持 MySQL 服务器的正常运行非常重要。这些更新通常包含错误修复、安全补丁和新功能,有助于增强服务器的整体安全性和功能。

sudo apt update && sudo apt upgrade

从 Ubuntu 中卸载 MySQL 8.0

如果不再需要 MySQL 服务器,可以停止 MySQL 服务,并删除软件及其相关依赖项:

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

sudo systemctl stop mysql --now

2删除不再需要的 MySQL 服务器及其相关软件包:

sudo apt autoremove mysql-community-server

如果是通过 Ubuntu 仓库安装的 MySQL 8.0,请使用以下命令卸载:

sudo apt autoremove mysql-server

3使用以下命令从 sources.list.d 目录中删除 MySQL 列表文件:

sudo rm /etc/apt/sources.list.d/mysql.list
卸载 MySQL 8.0
卸载 MySQL 8.0

对数据库管理员、开发人员或技术爱好者来说,在 Ubuntu 系统中安装、配置和管理 MySQL 8.0 都是一项重要的必备技能。通过本文介绍的内容,您可以在 Ubuntu 系统中高效维护最新的 MySQL 服务器。

赞(0) 赞赏

评论 抢沙发

微信赞赏