介绍
MySQL是一个著名的开源数据库管理系统,用于存储和检索各种流行应用程序的数据。MySQL 是LAMP堆栈中的M,LAMP 堆栈是一组常用的开源软件,还包括 Linux、Apache Web 服务器和 PHP 编程语言。
在 Debian 10 中,MariaDB(MySQL 项目的社区分支)被打包为默认的 MySQL 变体。虽然 MariaDB 在大多数情况下运行良好,但如果您需要仅在 Oracle MySQL 中找到的功能,您可以安装和使用 MySQL 开发人员维护的存储库中的包。
在本教程中,您将通过添加此存储库来安装最新版本的 MySQL,安装 MySQL 软件本身,确保安装安全,并测试 MySQL 是否正在运行并响应命令。
先决条件
在开始本教程之前,您需要一台 Debian 10 服务器,该服务器具有具有特权的非root用户sudo
并配置了防火墙。
第 1 步 — 添加 MySQL 软件存储库
MySQL 开发人员提供了一个.deb
包来处理配置和安装官方 MySQL 软件存储库。设置存储库后,您将能够使用 Debian 的标准apt
命令来安装软件。
首先更新本地包索引以反映最新的上游更改:
sudo apt update
然后,安装该gnupg
包:
sudo apt install gnupg
确认安装后,APT 将安装gnupg
及其依赖项。
接下来,您将下载 MySQL.deb
软件包wget
,然后使用dpkg
命令安装它。
在 Web 浏览器中加载MySQL 下载页面。找到右下角的**“下载”按钮,然后单击进入下一页。此页面将提示您登录或注册 Oracle Web 帐户。您可以跳过该步骤并找到显示“不,谢谢,只需开始下载”的链接。右键单击该链接并选择复制链接地址**(此选项的措辞可能有所不同,具体取决于您的浏览器)。
现在您将下载该文件。在您的服务器上,移动到可以写入的目录,例如/tmp
本示例中使用的临时目录:
cd /tmp
接下来,使用 下载文件wget
,记住将复制的地址粘贴到以下命令中突出显示的部分:
wget https://dev.mysql.com/get/mysql-apt-config_0.8.22-1_all.deb
该文件现在应该下载到您的当前目录中。列出要确认的文件:
ls
输出将返回各种文件的列表,包括您刚刚下载的文件,在以下示例中突出显示:
Output. . .
mysql-apt-config_0.8.22-1_all.deb
. . .
现在您已准备好安装。运行dpkg
用于安装、删除和检查.deb
软件包的命令。该-i
标志表明您想从指定的文件安装:
sudo dpkg -i mysql-apt-config*
在安装过程中,您将看到一个配置屏幕,您可以在其中指定您想要的 MySQL 版本,以及安装其他 MySQL 相关工具的存储库的选项。默认情况下将添加 MySQL 最新稳定版本的存储库信息,仅此而已。这是我们将根据我们的目的选择的内容,因此请使用向下箭头导航到Ok
菜单选项并点击ENTER
。
该包现在将完成添加存储库。刷新apt
软件包缓存以使新软件包可用:
sudo apt update
现在您已经添加了 MySQL 存储库,您就可以安装实际的 MySQL 服务器软件了。如果您需要更新这些存储库的配置,请运行sudo dpkg-reconfigure mysql-apt-config
,选择新选项,然后sudo apt-get update
刷新包缓存。
第 2 步 — 安装 MySQL
添加存储库并更新包缓存后,现在您可以用来apt
安装最新的 MySQL 服务器包:
sudo apt install mysql-server
apt
将扫描所有可用的mysql-server
包并确定 MySQL 提供的包是最新且最佳的候选包。然后它会计算包依赖关系并要求您批准安装。y
那就写吧ENTER
。软件将安装。
在安装的配置阶段,系统会要求您设置root密码。选择并确认安全密码以继续。接下来,将出现一个提示,要求您选择默认的身份验证插件。阅读显示屏以了解选择。如果您不确定,选择使用强密码加密会更安全。
MySQL 现在应该已安装并正在运行。使用以下方法检查systemctl
:
sudo systemctl status mysql
Output● mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: en
Active: active (running) since Thu 2022-02-24 18:59:22 UTC; 23min ago
Docs: man:mysqld(8)
http://dev.mysql.com/doc/refman/en/using-systemd.html
Main PID: 3722 (mysqld)
Status: "Server is operational"
Tasks: 38 (limit: 4915)
Memory: 371.7M
CGroup: /system.slice/mysql.service
└─3722 /usr/sbin/mysqld
Feb 24 18:59:21 sql-debian systemd[1]: Starting MySQL Community Server...
Feb 24 18:59:22 sql-debian systemd[1]: Started MySQL Community Server.
该Active: active (running)
行表示 MySQL 已安装并正在运行。在下一步中,您将使安装更加安全。
第 3 步 — 保护 MySQL
MySQL 附带了一个命令,可以在新安装上执行一些与安全相关的更新。您现在可以运行它:
mysql_secure_installation
这将询问您在安装过程中设置的MySQL **root密码。**将其写入并按ENTER
。现在您将回答一系列是或否提示。让我们回顾一下它们:
首先,系统会询问您有关验证密码插件的信息,该插件可以自动为您的 MySQL 用户强制执行某些密码强度规则。您需要根据自己的个人安全需求来决定启用此功能。写入y
并按ENTER
以启用它,或按ENTER
以跳过它。如果启用,系统还会提示您选择 0-2 之间的级别来确定密码验证的严格程度。选择一个号码并按ENTER
继续。
接下来,系统会询问您是否要更改root密码。由于您最近在安装 MySQL 时创建了密码,因此您可以安全地跳过此步骤。按ENTER
继续而不更新密码。
其余的提示可以回答yes。系统将询问您有关删除匿名 MySQL 用户、禁止远程root登录、删除test
数据库以及重新加载权限表的信息,以确保之前的更改正确生效。这些都是好主意。为每一个写下y
并按下ENTER
。
回答所有提示后,脚本将退出。现在您的 MySQL 安装已经相当安全了。接下来,您将通过运行连接到服务器并返回一些信息的客户端来再次测试它。
第 4 步 – 测试 MySQL
mysqladmin是 MySQL 的命令行管理客户端。您将使用它连接到服务器并输出一些版本和状态信息。该
-u root部分告诉以 MySQL **root**
mysqladmin用户身份登录,指示客户端要求输入密码,并且是您要运行的实际命令:
-p``version
mysqladmin -u root -p version
输出将显示正在运行的 MySQL 服务器版本、其正常运行时间以及一些其他状态信息,如下所示:
Outputmysqladmin Ver 8.0.28 for Linux on x86_64 (MySQL Community Server - GPL)
Copyright (c) 2000, 2022, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Server version 8.0.28
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/run/mysqld/mysqld.sock
Uptime: 25 min 31 sec
Threads: 2 Questions: 20 Slow queries: 0 Opens: 143 Flush tables: 3 Open tables: 62 Queries per second avg: 0.013
此输出确认您已成功安装并保护最新的 MySQL 服务器。
结论
您现在已经安装了 MySQL 的最新稳定版本,它应该适用于许多流行的应用程序。