如何在Ubuntu 18.04上安装最新的MySQL

在本教程中,我们将安装MySQL官方apt软件存储库,然后安装MySQL软件本身,保护安装,最后我们将测试MySQL正在运行并响应命令。

介绍

MySQL是一个着名的开源数据库管理系统,用于存储和检索各种流行应用程序的数据。 MySQL是LAMP中的M ,是一组常用的开源软件,也包括Linux,Apache Web服务器和PHP编程语言。

为了使用新发布的功能,有时需要安装比Linux发行版提供的更新的MySQL版本。 方便的是,MySQL开发人员维护自己的软件存储库,我们可以使用它来轻松安装最新版本并使其保持最新。

要安装最新版本的MySQL,我们将添加此存储库,安装MySQL软件本身,保护安装,最后我们将测试MySQL是否正在运行并响应命令。

先决条件

在开始本教程之前,您需要:

第1步 - 添加MySQL软件库

MySQL开发人员提供了一个.deb包,用于处理配置和安装官方MySQL软件存储库。 一旦设置了存储库,我们就可以使用Ubuntu的标准apt命令来安装该软件。 我们将使用curl下载此.deb文件,然后使用dpkg命令安装它。

首先,在Web浏览器中加载MySQL下载页面 找到右下角的“ 下载”按钮,然后单击下一页。 此页面将提示您登录或注册Oracle Web帐户。 我们可以跳过这一点,而是寻找说不用的链接,只需启动我的下载 右键单击该链接并选择“ 复制链接地址” (此选项的措辞可能不同,具体取决于您的浏览器)。

现在我们要下载文件了。 在您的服务器上,移动到您可以写入的目录:

cd /tmp

使用curl下载文件,记住粘贴刚刚复制的地址代替下面突出显示的部分:

curl -OL https://dev.mysql.com/get/mysql-apt-config_0.8.10-1_all.deb

我们需要传递两个命令行标志来curl -O指示curl输出到文件而不是标准输出。 L标志使curl遵循HTTP重定向,在这种情况下是必需的,因为我们复制的地址实际上会在文件下载之前将我们重定向到另一个位置。

该文件现在应该下载到我们当前的目录中。 列出文件以确保:

ls

您应该看到列出的文件名:

mysql-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

让我们自己清理并删除我们下载的文件:

rm mysql-apt-config*

现在我们已经添加了MySQL存储库,我们已准备好安装实际的MySQL服务器软件。 如果您需要更新这些存储库的配置,只需运行sudo dpkg-reconfigure mysql-apt-config ,选择新选项,然后运行sudo apt update来刷新包缓存。

第2步 - 安装MySQL

添加了存储库并重新更新了我们的软件包缓存后,我们现在可以使用apt来安装最新的MySQL服务器软件包:

sudo apt install mysql-server

apt将查看所有可用的mysql-server软件包,并确定MySQL提供的软件包是最新且最佳的候选软件包。 然后它将计算包依赖关系并要求您批准安装。 ENTER y然后ENTER 该软件将安装。

系统将要求您在安装的配置阶段设置root密码。 请务必选择安全密码。 输入两次ENTER ,系统将提示您配置身份验证插件。 建议使用默认的“ 使用强密码加密” ,因此请按ENTER进行选择。 安装过程将持续到完成。

现在应该安装并运行MySQL。 我们来检查一下使用systemctl

systemctl status mysql
● mysql.service - MySQL Community Server
   Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
   Active: active (running) since Thu 2018-07-12 17:46:42 UTC; 17s ago
     Docs: man:mysqld(8)
           http://dev.mysql.com/doc/refman/en/using-systemd.html
 Main PID: 7918 (mysqld)
   Status: "SERVER_OPERATING"
    Tasks: 37 (limit: 1152)
   CGroup: /system.slice/mysql.service
           └─7918 /usr/sbin/mysqld

Active: active (running)行表示MySQL已安装并正在运行。 现在我们将使安装更加安全。

第3步 - 保护MySQL

MySQL附带了一个命令,我们可以使用它在新安装上执行一些与安全相关的更新。 我们现在运行它:

mysql_secure_installation

这将询问您在安装期间设置的MySQL root密码。 键入它,然后按ENTER 现在我们将回答一系列是或否提示。 让我们来看看:

首先,我们被问及验证密码插件 ,这是一个可以自动为MySQL用户强制执行某些密码强度规则的插件。 启用此功能是您需要根据个人安全需求做出的决定。 键入yENTER以启用它,或者只需按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服务器版本,正常运行时间以及其他一些状态信息:

mysqladmin  Ver 8.0.11 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.11
Protocol version    10
Connection      Localhost via UNIX socket
UNIX socket     /var/run/mysqld/mysqld.sock
Uptime:         2 min 21 sec

Threads: 2  Questions: 10  Slow queries: 0  Opens: 136  Flush tables: 2  Open tables: 112  Queries per second avg: 0.070

如果你收到类似的输出,恭喜! 您已成功安装最新的MySQL服务器并对其进行了保护。

结论

您现在已经完成了最新版MySQL的基本安装,这应该适用于许多流行的应用程序。 如果您有更高级的需求,可以继续执行其他一些配置任务:

  • 如果您想要一个用于管理MySQL服务器的图形界面,phpMyAdmin是一个流行的基于Web的解决方案。 我们的教程如何安装和保护phpMyAdmin可以帮助您入门。
  • 目前,只有运行在同一服务器上的应用程序才能访问您的数据库。 出于性能和存储原因,有时您需要单独的数据库和应用程序服务器。 查看如何为MySQL配置SSL / TLS,了解如何设置MySQL以便从其他服务器进行安全访问。
  • 另一种常见配置是更改MySQL存储其数据的目录。 如果您希望将数据存储在与默认目录不同的存储设备上,则需要执行此操作。 这将在如何将MySQL数据目录移动到新位置中介绍