如何在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 条评论
登录 后参与评论

相关文章

来自专栏区块链

权限管理与数据恢复

1、SQL的安全机制: 客户机安全:系统安全 服务器安全:登录SQL实例安全 数据库安全:访问数据库安全 对象安全:对数据库对象的操作安全 2、服务器安全:登录...

20670
来自专栏菩提树下的杨过

jboss eap 6.3 域(Domain)模式配置

jboss提供了二种运行模式:standalone(独立运行模式)、domain(域模式),日常开发中,使用standalone模式足已;但生产部署时,一个ap...

319100
来自专栏云计算教程系列

# 如何在Ubuntu 16.04上配置绑定为缓存或转发DNS服务器 ###

在学习如何配置网站和服务器时,DNS或域名系统通常是一个难以实现的组件。虽然大多数人可能会选择使用其托管公司或其域名注册商提供的DNS服务器,但创建自己的DNS...

47600
来自专栏金蝶云平台的专栏

Grunt :初次使用及前端构建经验

这是我们部门前端同学cobish的学习笔记,笔者编辑了一下并分享给大家。

45800
来自专栏北京马哥教育

Nginx动静分离实现负载均衡

使用Debian环境。安装Nginx(默认安装),一个web项目,安装tomcat(默认安装)等。

12700
来自专栏信安之路

浅谈Session机制及CSRF攻防

在讲解CSRF攻击原理及流程之前,我想先花点时间讲讲浏览器信息传递中的Session机制。

11800
来自专栏Java帮帮-微信公众号-技术文章全总结

Web-第二十五天 Maven学习一【悟空教程】

解决方案:maven对项目生命周期进行定义,规范,开发人员和测试人员使用maven软件完成构建。

14830
来自专栏散尽浮华

Nginx基于TCP/UDP端口的四层负载均衡(stream模块)配置梳理

通过我们会用Nginx的upstream做基于http/https端口的7层负载均衡,由于Nginx老版本不支持tcp协议,所以基于tcp/udp端口的四层负载...

1.1K30
来自专栏Java技术分享圈

本地安装谷歌的插件之 CRX格式插件离线安装

方法一 :开发模式安装 [亲测] 1.把下载后的.crx扩展名的离线Chrome插件的文件扩展名改成.zip或者.rar (如何查看Chrome插件的扩展名...

10320
来自专栏黑白安全

8种DOS命令

  它是用来检查网络是否通畅或者网络连接速度的命令。作为一个生活在网络上的管理员或者黑客来说,ping命令是第一个必须掌握的DOS命令,它所利用的原理是这样的:...

24020

扫码关注云+社区

领取腾讯云代金券