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