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 兼容)
8要确认安装,请使用以下命令检查已安装的 MySQL 版本:
apt policy mysql-community-server
使用 Systemd 管理 MySQL 8.0 服务
安装好 MySQL 8.0 Community Edition 服务器后,会自动启动 MySQL 服务,并设置为随系统启动时自动启动。要有效运行数据库服务器,了解一些基本的 Linux 服务管理命令至关重要。
首先需要确认 MySQL 服务是否按预期运行。使用 systemctl
命令,可以查看 MySQL 服务的当前状态:
systemctl status 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 服务器的安全性,减轻潜在攻击的风险。
在 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
对数据库管理员、开发人员或技术爱好者来说,在 Ubuntu 系统中安装、配置和管理 MySQL 8.0 都是一项重要的必备技能。通过本文介绍的内容,您可以在 Ubuntu 系统中高效维护最新的 MySQL 服务器。
最新评论
需要管理员权限
直接降级 Windows10 一次性永久解决问题
我按照作者的方法成功了
使用PowerShell修改失败,禁止访问