如何在Debian 9上安装最新的MySQL

介绍

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

在Debian 9中,MySQL项目的社区分支MariaDB被打包为默认的MySQL变体。虽然MariaDB在大多数情况下运行良好,但如果您需要仅在Oracle的MySQL中找到的功能,则可以从MySQL开发人员维护的存储库中安装和使用软件包。

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

先决条件

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

第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

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

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

现在我们已经添加了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
● 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用户强制执行某些密码强度规则的插件。启用此功能是您需要根据个人安全需求做出的决定。输入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.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的基本安装,这应该适用于许多流行的应用程序。

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


参考文献:《How To Install the Latest MySQL on Debian 9》

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

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

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏非著名程序员

如何优化 Android Studio 启动、编译和运行速度?

?作为一名 Android 程序员,选择一个好的 IDE 工具可以使开发变得非常高效,很多程序员喜欢使用 Google 的 Android Studio来进行...

1936
来自专栏Debian社区

使用 tmate 分享你的终端会话

tmate 的意思是 teammates,它是 tmux 的一个分支,并且使用相同的配置信息(例如快捷键配置,配色方案等)。它是一个终端多路复用器,同时具有即时...

1053
来自专栏cloudskyme

apache synapse使用(1)

一.Synapse介绍 Synapse 是一个简单的 XML 和 Web 服务管理与集成代理,可用于构成 SOA 和企业服务总线(ESB)的基础。Synapse...

4117
来自专栏漫漫前端路

HTTP协议 - 从URI开始

URI, 既是统一资源标识符号,每个 Web 服务器都有一个 URI 标识符,它在世界范围内唯一标识并定位信息资源。

1524
来自专栏建站达人秀

如何部署 Tomcat 站点

Tomcat 是 Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由 Apache、Su...

3602
来自专栏网商云

小白教程--centos7修改ssh远程端口

新账号关联我们公司购买腾讯云产品,有优惠哦!联系电话:13430587834(微信同号)

5384
来自专栏技术之路

sql 2000 无法连接远程数据库 sqlserver不存在或访问被拒绝 解决方案

一 看ping 服务器IP能否ping通。    这个实际上是看和远程sql server 2000服务器的物理连接是否存在。如果不行,请检查网络,查看配置,当...

3629
来自专栏小文博客

Centos服务器下载百度云资源——wget

2.9K5
来自专栏伪君子的梦呓

使用github搭建个人博客

前言 为什么我要搭建一个个人博客呢?主要是为了方便自己分类一些东西,而且最近在学 html 和 css ,搭建一个博客来帮助自己理解一下。 文章主要分6个部分,...

4396
来自专栏桥路_大数据

Gradle打包问题Deprecated Gradle features were used in this build, making it incompatible with Gradle 5.0

1.5K4

扫码关注云+社区

领取腾讯云代金券