四步教你搭建保护MySQL服务器!

简介

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

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

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

准备

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

第一步、添加MySQL软件库

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

首先,在用浏览器打开MySQL下载页面。页面下滑,找到右下角的“ Download”按钮,然后单击。就会跳转到一个新的页面,这个页面会提示您登录或注册Oracle Web帐户,我们可以不选择登陆或者注册;视线往下移动,可以看到No thanks, just start my download.。鼠标移动到这行字的上面,单击鼠标右键,选择复制链接地址

现在我们要下载文件了。

在您的服务器上,进入到您可以写入的目录:

cd /tmp

使用curl下载.deb包,记得把下面的链接替换成你刚刚复制的链接:

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

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

该文件现在应该下载到我们当前的目录中。输入以下命令,列出当前目录的所有文件确认下:

ls

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

mysql-apt-config_0.8.3-1_all.deb
. . .

现在我们准备安装:

sudo dpkg -i mysql-apt-config*

dpkg用于安装,删除和检查.deb软件包。该-i标志表示我们要从指定的文件安装。

在安装过程中,您可以在屏幕上需要配置的选项,您可以指定您喜欢的MySQL版本,以及为其他MySQL相关工具安装存储库的选项。默认值将添加最新稳定版MySQL的存储库信息,而不是其他任何内容。这就是我们想要的,所以使用向下箭头导航到Ok菜单选项并点击ENTER

该包现在将完成添加存储库。输入以下命令,更新一下本地的软件包:

sudo apt-get update

删除我们刚刚下载的文件:

rm mysql-apt-config*

现在我们已经添加了MySQL存储库,我们已准备好安装实际的MySQL服务器软件。如果您需要更新这些存储库的配置,只需运行sudo dpkg-reconfigure mysql-apt-config,选择新选项,更新完再输入sudo apt-get update就可以了。

第二步、安装MySQL

现在,我们现在可以使用apt-get安装最新的MySQL服务器软件包:

sudo apt-get install mysql-server

apt-get将查看所有可用的mysql-server包并确定MySQL提供的包是最新的。然后它将计算包依赖关系并要求您批准安装。y然后键入ENTER。该软件将安装。系统将要求您在安装的配置阶段设置root密码。请务必选择安全密码(注:输入的密码不会显示出来),输入两次(注:务必确保两次输入的密码一致),完成安装。

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 Wed 2017-04-05 19:28:37 UTC; 3min 42s ago
 Main PID: 8760 (mysqld)
   CGroup: /system.slice/mysql.service
           └─8760 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid

Active: active (running)行意味着MySQL已安装并正在运行。

第三步、保护MySQL

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

mysql_secure_installation

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

首先,我们被问及验证密码插件,这是一个可以自动为MySQL用户强制执行某些密码强度规则的插件。启用此功能是您需要根据个人安全需求做出的决定。输入yENTER启用它,或只是点击ENTER跳过它。如果启用,系统还会提示您从0-2中选择一个级别,以确定密码验证的严格程度。选择一个数字并点击ENTER继续。

接下来,系统会询问您是否要更改root密码。由于我们在安装MySQL时刚刚创建了密码,因此我们可以安全地跳过这个。点击ENTER继续,不更新密码。

其余提示可以回答。系统将询问您是否删除匿名 MySQL用户,禁止远程root登录,删除测试数据库以及重新加载权限表以确保先前的更改正常生效。这些都是个保证数据库安全的措施。每个都可以输入y并再ENTER

在回答完所有提示后,脚本将退出。现在我们的MySQL安装是安全的。让我们通过运行连接到服务器的客户端再次测试它并返回一些信息。

第四步、测试MySQL

mysqladmin是MySQL的命令行管理客户端。我们将使用它连接到服务器并输出一些版本和状态信息:

mysqladmin -u root -p version

-u root部分告诉mysqladmin以MySQL root用户身份登录,-p指示客户端要求输入密码,这version是我们想要运行的实际命令。

输出将告诉我们正在运行的MySQL服务器版本,正常运行时间以及其他一些状态信息:

mysqladmin  Ver 8.42 Distrib 5.7.17, for Linux on x86_64
Copyright (c) 2000, 2016, 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      5.7.17
Protocol version    10
Connection      Localhost via UNIX socket
UNIX socket     /var/run/mysqld/mysqld.sock
Uptime:         58 min 28 sec

Threads: 1  Questions: 10  Slow queries: 0  Opens: 113  Flush tables: 1  Open tables: 106  Queries per second avg: 0.002

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

结论

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


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

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

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

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏北京马哥教育

Gitlab CE 8.1.3 安装手册(Debian/Ubuntu)

安装概述 Gitlab的安装过程主要包括以下组件的配置: 安装软件包及解决依赖项 Ruby环境 Go 系统用户 数据库(Mysql/Postgresql) Re...

3505
来自专栏Laoqi's Linux运维专列

parted分区GPT格式

2443
来自专栏运维

升级linux内核到3.0.0

wget http://www.kernel.org/pub/linux/kernel/v3.0/linux-3.0.tar.bz2

2384
来自专栏阮一峰的网络日志

Linux服务器的初步配置流程

开发网站的时候,常常需要自己配置Linux服务器。 本文记录配置Linux服务器的初步流程,也就是系统安装完成后,下一步要做的事情。这主要是我自己的总结和备忘,...

7826
来自专栏fixzd

redis系列:主从复制

这篇文章主要讲述Redis的主从复制功能。会依次从环境搭建、功能测试和原理分析几个方面进行介绍。

1454
来自专栏程序员互动联盟

【专业技术】编译器的工作原理

源码要运行,必须先转成二进制的机器码。这是编译器的任务。 比如,下面这段源码(假定文件名叫做test.c)。 #include <stdio.h>int ma...

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

如何在Ubuntu 18.04上安装和配置Postfix

Postfix是一种流行的开源邮件传输代理(MTA),可用于在Linux系统上路由和传递电子邮件。据估计,互联网上约有25%的公共邮件服务器运行Postfix。

3181
来自专栏java沉淀

centos 7 安装mysql这个版本的数据库是没有my.cnf需要创建my.cnfsql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

2453
来自专栏菜鸟程序员

Ubuntu防火墙安装和配置

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

如何在Ubuntu 14.04上安装Munin监视工具

Munin是一个系统,网络和基础设施监控应用程序,通过Web浏览器以图形形式提供信息。它是围绕客户端 - 服务器架构设计的,可以配置为监控它所安装的机器(Mun...

1180

扫码关注云+社区

领取腾讯云代金券