前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。
简介
MySQL 是一个知名的开源数据库管理系统,用于存储和检索各种热门应用程序的数据。MySQL 是 LAMP 栈中的 M,这是一套常用的开源软件集,还包括 Linux、Apache Web 服务器和 PHP 编程语言。
在 Debian 10 中,MariaDB 是 MySQL 项目的社区分支,作为默认的 MySQL 变体打包。虽然 MariaDB 在大多数情况下运行良好,但如果您需要仅在 Oracle 的 MySQL 中找到的功能,可以安装并使用由 MySQL 开发人员维护的存储库中的软件包。
在本教程中,您将通过添加此存储库、安装 MySQL 软件本身、保护安装并测试 MySQL 是否正在运行和响应命令来安装 MySQL 的最新版本。
先决条件
在开始本教程之前,您需要一个具有 sudo
权限的非 root 用户和已配置防火墙的 Debian 10 服务器。您可以按照我们的 Debian 10 初始服务器设置指南进行操作。
步骤 1 —— 添加 MySQL 软件存储库
MySQL 开发人员提供一个 .deb
软件包,用于配置和安装官方 MySQL 软件存储库。一旦设置了存储库,您就可以使用 Debian 的标准 apt
命令来安装软件。
在执行此操作之前,您需要安装先决条件 GnuPG 软件包,这是 OpenPGP 标准的开源实现。
首先,更新本地软件包索引以反映最新的上游更改:
sudo apt update
然后,安装 gnupg
软件包:
sudo apt install gnupg
确认安装后,APT 将安装 gnupg
及其依赖项。
接下来,您将使用 wget
下载 MySQL 的 .deb
软件包,然后使用 dpkg
命令进行安装。
在您的 Web 浏览器中加载 MySQL 下载页面。找到右下角的 Download 按钮,然后单击转到下一页。该页面将提示您登录或注册 Oracle Web 帐户。您可以跳过这一步,找到标有 No thanks, just start my download 的链接。右键单击该链接,然后选择 复制链接地址(此选项可能根据您的浏览器而有所不同)。
现在,您将要下载该文件。在服务器上,切换到您可以写入的目录,例如本示例中使用的临时 /tmp
目录:
cd /tmp
接下来,使用 wget
下载文件,记得将您复制的地址粘贴到以下命令中的高亮部分:
wget https://dev.mysql.com/get/mysql-apt-config_0.8.22-1_all.deb
文件现在应该已下载到当前目录。列出文件以确认:
ls
输出将返回各种文件列表,包括您刚刚下载的文件,在以下示例中已突出显示:
. . .
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 密码。选择并确认一个安全的密码以继续。接下来,将出现一个提示,询问您选择默认的身份验证插件。阅读显示以了解选择。如果不确定,选择 Use Strong Password Encryption 更安全。
MySQL 现在应该已安装并运行。使用 systemctl
进行检查:
sudo systemctl status mysql
● 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 已安装并正在运行。在下一步中,您将使安装更加安全。
第三步 —— 安全配置 MySQL
MySQL 自带一个命令,可以对新安装的 MySQL 进行一些与安全相关的更新。你可以立即运行它:
mysql_secure_installation
这将要求你输入在安装过程中设置的 MySQL root 密码。输入密码并按 ENTER
键。接下来你将回答一系列 yes 或 no 的提示。让我们来逐一审视它们:
首先,你将被询问关于 validate password plugin,这是一个可以自动强制执行某些 MySQL 用户密码强度规则的插件。是否启用这个功能取决于你个人的安全需求。输入 y
并按 ENTER
启用它,或者直接按 ENTER
跳过。如果启用了,你还将被提示选择密码验证的严格程度,可选择 0–2 中的一个数字并按 ENTER
继续。
接下来,你将被问及是否要更改 root 密码。由于你在安装 MySQL 时刚刚创建了密码,你可以安全地跳过这一步。直接按 ENTER
继续,不更新密码。
其余的提示都可以回答为 yes。你将被询问是否要移除匿名 MySQL 用户、禁止远程 root 登录、移除 test
数据库,并重新加载权限表以确保之前的更改生效。这些都是很好的建议。对于每个提示,输入 y
并按 ENTER
。
当所有提示都得到回答后,脚本将退出。现在你的 MySQL 安装已经相当安全。接下来,你将通过运行一个连接到服务器并返回一些信息的客户端来再次测试它。
第四步 —— 测试 MySQL
mysqladmin
是 MySQL 的命令行管理客户端。你将使用它连接到服务器并输出一些版本和状态信息。-u root
部分告诉 mysqladmin
以 MySQL root 用户身份登录,-p
指示客户端要求输入密码,version
是你要运行的实际命令:
mysqladmin -u root -p version
输出将显示 MySQL 服务器运行的版本、运行时间以及其他一些状态信息,如下所示:
mysqladmin 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,这将适用于许多流行的应用程序。
欲了解更多关于 MySQL 基础知识的信息,我们鼓励你查阅以下教程:
- 如何在 MySQL 中创建新用户并授予权限
- 如何在云服务器上创建和管理 MySQL 和 MariaDB 数据库
- 如何在两台服务器之间迁移 MySQL 数据库