专栏首页云计算教程系列如何在Ubuntu 18.04上安装最新的MySQL
原创

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

介绍

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

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

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

准备

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

  • 一台已经设置好可以使用sudo命令的非root账号的Ubuntu服务器,并且已开启防火墙。没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器

第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提供的包是最新和最佳候选者。然后它将计算包依赖关系并要求您批准安装。键入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登录,删除测试数据库以及重新加载权限表以确保先前的更改正常生效。这些都是个好主意。输入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的基本安装,这应该适用于许多流行的应用程序。

更多Ubuntu教程请前往腾讯云+社区学习更多知识。

参考文献:《How To Install the Latest MySQL on Ubuntu 18.04》

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 如何在Ubuntu 14.04上使用Nginx和Php-fpm安全地托管多个网站

    众所周知,LEMP堆栈(Linux,nginx,MySQL,PHP)为运行PHP站点提供了无与伦比的速度和可靠性。但是,这种流行的堆栈的其他特性,如安全性和隔离...

    angel_郁
  • 如何在Ubuntu 16.04上安装Node.js

    Node.js是一个用于通用编程的JavaScript平台,允许用户快速构建网络应用程序。通过在前端和后端利用JavaScript,开发可以更加一致并在同一系统...

    angel_郁
  • 如何在Ubuntu 16.04使用Buildbot建立持续集成系统

    Buildbot是一个基于Python的持续集成系统,用于自动化软件构建,测试和发布过程。

    angel_郁
  • 在Ubuntu14.04中如何安装mysql

    接触过MySQL的小伙伴们都知道,在Windows下安装MySQL是一件让人十分头大的事情,但是在Ubuntu等其他Linux系统中安装MySQL就简单很多了,...

    Python进阶者
  • 如何在Ubuntu14.04中安装mysql

    接触过MySQL的小伙伴们都知道,在Windows下安装MySQL是一件让人十分头大的事情,但是在Ubuntu等其他Linux系统中安装MySQL就简单很多了,...

    Python进阶者
  • 观点 | 用 MySQL 数据库,到底会不会被“卡脖子”?

    在近期不明朗的贸易形势下,一些正在规划数据库选型、迁移的用户,纷纷询问我们对 MySQL 未来前景的看法。那么使用 MySQL 数据库会出现被“卡脖子”的情况吗...

    [3306 Pai ] 社区
  • 从商用到开源:15个维度,全面剖析DB2与MySQL数据库的差异

    编辑手记 MySQL是目前最流行的开源数据库,由于其部署方便,运维简单,被广泛用于互联网的各个领域。随着整体IT架构的变更,传统的金融,电信业务,也逐渐走上从商...

    企鹅号小编
  • MySQL从删库到跑路(一)——MySQL数据库简介

    MySQL是一个轻量级关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司。目前MySQL被广泛地应用在Internet上的中小型网站...

    良月柒
  • MySQL各版本的区别

    MySQL 的官网下载地址:https://www.mysql.com/downloads/

    黑泽君
  • 如何在Debian 9上安装最新的MySQL

    MySQL是一个着名的开源数据库管理系统,用于存储和检索各种流行应用程序的数据。MySQL是LAMP堆栈中的M,是一组常用的开源软件,也包括Linux,Apac...

    编程男孩

扫码关注云+社区

领取腾讯云代金券