介绍
MySQL 是一个著名的开源数据库管理系统,用于存储和检索各种流行应用程序的数据。 MySQL 是 LAMP 堆栈中的 M,是一组常用的开源软件,还包括 Linux、Apache Web 服务器和 PHP 编程语言。
在 Debian 9 中,MySQL 项目的社区分支 MariaDB 被打包为默认的 MySQL 变体。 虽然 MariaDB 在大多数情况下运行良好,但如果您需要仅在 Oracle 的 MySQL 中找到的功能,您可以从 MySQL 开发人员维护的存储库中安装和使用包。
要安装最新版本的 MySQL,我们将添加此存储库,安装 MySQL 软件本身,保护安装,最后我们将测试 MySQL 是否正在运行并响应命令。
先决条件
在开始本教程之前,您需要:
- 按照 this initial server setup guide 设置一台 Debian 9 服务器,包括具有
sudo
权限的非 root 用户和防火墙。
第 1 步 — 添加 MySQL 软件存储库
MySQL 开发人员提供了一个 .deb
包,用于处理配置和安装官方 MySQL 软件存储库。 建立存储库后,我们将能够使用 Ubuntu 的标准 apt
命令来安装软件。 我们将使用 wget
下载此 .deb
文件,然后使用 dpkg
命令安装它。
首先,在您的网络浏览器中加载 MySQL 下载页面 。 找到右下角的下载按钮,点击进入下一页。 此页面将提示您登录或注册 Oracle Web 帐户。 我们可以跳过它,而是寻找显示 不,谢谢,开始我的下载 的链接。 右键单击链接并选择复制链接地址(此选项的措辞可能不同,具体取决于您的浏览器)。
现在我们要下载文件。 在您的服务器上,移动到您可以写入的目录。 使用 wget
下载文件,记住粘贴您刚刚复制的地址来代替下面突出显示的部分:
cd /tmp wget https://dev.mysql.com/get/mysql-apt-config_0.8.10-1_all.deb
该文件现在应该下载到我们当前的目录中。 列出文件以确保:
ls
您应该看到列出的文件名:
Outputmysql-apt-config_0.8.10-1_all.deb . . .
现在我们准备安装:
sudo dpkg -i mysql-apt-config*
dpkg
用于安装、删除和检查 .deb
软件包。 -i
标志表明我们想从指定的文件安装。
在安装过程中,您将看到一个配置屏幕,您可以在其中指定您喜欢的 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: enabled) Active: active (running) since Wed 2018-09-05 15:58:21 UTC; 30s ago Docs: man:mysqld(8) http://dev.mysql.com/doc/refman/en/using-systemd.html Main PID: 12805 (mysqld) Status: "SERVER_OPERATING" CGroup: /system.slice/mysql.service └─12805 /usr/sbin/mysqld Sep 05 15:58:15 mysql1 systemd[1]: Starting MySQL Community Server... Sep 05 15:58:21 mysql1 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
继续而不更新密码。
其余提示可以回答是。 系统将询问您删除 anonymous MySQL 用户、禁止远程 root 登录、删除 test 数据库以及重新加载权限表以确保之前的更改生效适当地。 这些都是好主意。 键入 y
并为每个点击 ENTER
。
回答完所有提示后脚本将退出。 现在我们的 MySQL 安装是相当安全的。 让我们通过运行一个连接到服务器并返回一些信息的客户端来再次测试它。
第 4 步 - 测试 MySQL
mysqladmin
是 MySQL 的命令行管理客户端。 我们将使用它连接到服务器并输出一些版本和状态信息:
mysqladmin -u root -p version
-u root
部分告诉 mysqladmin
以 MySQL root 用户身份登录,-p
指示客户端要求输入密码,并且 [ X143X] 是我们要运行的实际命令。
输出将让我们知道正在运行的 MySQL 服务器的版本、正常运行时间和其他一些状态信息:
Outputmysqladmin Ver 8.0.12 for Linux on x86_64 (MySQL Community Server - GPL) Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. 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.12 Protocol version 10 Connection Localhost via UNIX socket UNIX socket /var/run/mysqld/mysqld.sock Uptime: 6 min 42 sec Threads: 2 Questions: 12 Slow queries: 0 Opens: 123 Flush tables: 2 Open tables: 99 Queries per second avg: 0.029
如果您收到类似的输出,恭喜! 您已成功安装最新的 MySQL 服务器并对其进行保护。
结论
您现在已经完成了最新版本 MySQL 的基本安装,它应该适用于许多流行的应用程序。