介绍
MySQL是一个着名的开源数据库管理系统,用于存储和检索各种流行应用程序的数据。 MySQL是LAMP中的M ,是一组常用的开源软件,也包括Linux,Apache Web服务器和PHP编程语言。
在Debian 9中,MySQL项目的社区分支MariaDB被打包为默认的MySQL变体。 虽然MariaDB在大多数情况下运行良好,但如果您需要仅在Oracle的MySQL中找到的功能,则可以从MySQL开发人员维护的存储库中安装和使用软件包。
要安装最新版本的MySQL,我们将添加此存储库,安装MySQL软件本身,保护安装,最后我们将测试MySQL是否正在运行并响应命令。
先决条件
在开始本教程之前,您需要:
- 一个Debian 9服务器通过遵循此初始服务器设置指南进行设置 ,包括具有
sudo
权限和防火墙的非root用户。
第1步 - 添加MySQL软件库
MySQL开发人员提供了一个.deb
包,用于处理配置和安装官方MySQL软件存储库。 一旦设置了存储库,我们就可以使用Ubuntu的标准apt
命令来安装该软件。 我们将使用wget
下载此.deb
文件,然后使用dpkg
命令安装它。
首先,在Web浏览器中加载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提供的软件包是最新且最佳的候选软件包。 然后它将计算包依赖关系并要求您批准安装。 ENTER
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
继续,不更新密码。
其余提示可以回答是 。 系统将询问您是否删除匿名 MySQL用户,禁止远程root登录,删除测试数据库以及重新加载权限表以确保先前的更改正常生效。 这些都是个好主意。 ENTER
y
ENTER
。
在回答完所有提示后,脚本将退出。 现在我们的MySQL安装是合理安全的。 让我们通过运行连接到服务器的客户端再次测试它并返回一些信息。
第4步 - 测试MySQL
mysqladmin
是MySQL的命令行管理客户端。 我们将使用它连接到服务器并输出一些版本和状态信息:
mysqladmin -u root -p version
-u root
部分告诉mysqladmin
以MySQL root用户身份登录, -p
指示客户端请求密码, version
是我们想要运行的实际命令。
输出将告诉我们正在运行的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的基本安装,这应该适用于许多流行的应用程序。