当前位置: 首页>>技术教程>>正文


如何在Ubuntu 18.04 LTS中安装和配置MySQL

,

MySQL代表My(co-founder Michael Widenius的女儿的名字)的结构化查询语言是一种开放源代码关系数据库管理系统。该RDBMS由Oracle支持,可在几乎所有平台上运行,例如Linux,UNIX和MS Windows。 MYSQL通常是在线发布和基于Web的应用程序的首选。 Facebook,YouTube和Twitter都使用MySQL作为其RDBMS。 MySQL是非常流行的LAMP堆栈的一部分:Linux,Apache,MySQL和Python /PHP /Perl。

在本文中,我们将描述如何执行以下操作的step-by-step过程:

  • 安装apt软件包存储库中可用的最新版本的MySQL
  • 运行MySQL安全脚本
  • 配置根用户访问MySQL Shell
  • 最后,测试MySQL是否已启动并正在运行

我们已经在Ubuntu 18.04 LTS系统上运行了本文中提到的命令和过程。

MySQL安装和安全配置

在本节中,我们将描述如何通过Ubuntu命令行安装MySQL并在其上配置安全性。

您可以通过应用程序启动器搜索栏或Ctrl + Alt + T快捷键打开Ubuntu命令行终端。

步骤1:更新存储库索引

为了从Internet存储库安装软件的最新可用版本,您的本地存储库索引需要与它们保持一致。以sudo身份运行以下命令,以更新您的本地存储库索引:

$ sudo apt-get update

Update Ubuntu package list

步骤2:使用apt安装MySQL Server

请以sudo身份运行以下命令,以便从APT存储库安装MySQL。

$ sudo apt-get install mysql-server

请注意,只有授权用户才能在Ubuntu上添加,删除和配置软件。

Install MySQL server package

系统可能会询问您sudo的密码,并且还会为您提供一个Y /n选项以继续安装。输入Y,然后按Enter;然后将MySQL安装在您的系统上。但是,此过程可能需要一些时间,具体取决于您的Internet速度。

步骤3:验证安装(可选)

您可以通过在终端中运行以下命令来验证您的MySQL安装并检查版本号:

$ mysql --version

Check MySQL version

步骤4:通过运行随附的安全脚本进行安全配置

每当您安装MySQL的新副本时,都应更改一些默认设置,以增强MySQL安装的安全性。这包括删除测试用户,测试数据库以及root用户进行远程登录的权限。

以sudo身份运行以下命令以运行安全脚本:

$ sudo mysql_secure_installation

MySQL secure installation

运行此命令时,将首先要求您设置Validate Password插件。这使您可以根据要选择的密码强度为root设置安全密码。输入Y为了运行验证密码插件,您将得到以下提示:

Password validation policy level

输入您选择的密码强度数字,然后按Enter。然后,系统将询问您新的root密码。在以下提示中输入密码,然后输入re-enter。

Set MySQL root password

然后,系统将显示您提供的密码强度,并询问您是否要继续输入密码。

Password strength

为是输入Y,然后按Enter。

系统现在将一个接一个地向您提出一系列问题,您可以根据对这些问题的回答来设置系统的安全性。

系列问题:

第一个问题将询问您是否要删除匿名测试用户。

Remove anonymous user

按y,然后按Enter。

第二个问题将询问您是否要禁止从远程系统进行root登录。通常,这是您的选择,因为对于安全系统,仅应允许root从本地主机连接。

因此,我们建议输入y。

第三个问题将询问您是否要从系统中删除名为“test”的默认MySQL数据库,并删除对其的访问。

Remove test database

输入y删除此测试数据库。

为了使您的所有above-configured更改生效,系统需要重新加载特权表。输入y,您的所有安全更改将被提交。

Reload database privileges to apply changes

配置Root以使用MySQL Shell

运行安全脚本时,您提供了root用户密码。但是,不允许该用户使用相同的密码连接到MySQL Shell。您可以通过将其身份验证方法从默认的“auth_socket”更改为“mysql_native_password”来将配置根更改为使用MySQL Shell。

这是您可以执行的操作:

步骤1:启动MySQL Shell

首先,通过以sudo运行以下命令来启动MySQL Shell:

$ sudo mysql

Start MySQL shell

这将启动MySQL Shell,以便您可以在MySQL提示符下工作。

步骤2:检查MySQL用户的身份验证方法

在MySQL提示符下,输入以下命令,该命令可让您检查所有MySQL帐户当前正在使用的身份验证方法/插件:

mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;

List of MySQL users

在上面的输出中,您可以看到默认情况下root用户正在使用auth-socket插件进行身份验证。

步骤3:更改root用户的身份验证方法

我们的目的是让root用户在MySQL上使用密码进行身份验证。为此,请运行以下命令,以使根由mysql_native_password标识。请记住,该密码必须非常安全。

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

Change authentication method for the root user

从现在开始,您的根目录将不再具有在运行包含的安全脚本时指定的密码,而是您在above-mentioned命令中指定的强密码。

步骤4:重新载入授权表

现在是时候告诉服务器使用新的特权设置了。在MySQL提示中运行以下命令以重新加载授权表并注册您的更改:

mysql> FLUSH PRIVILEGES;

Reload Grant tables

步骤5:重新检查MySQL用户的身份验证方法

现在,当您通过以下命令重新检查MySQL用户帐户的身份验证方法时,您将看到您的root用户现在正在使用mysql_native_password插件进行身份验证:

mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;

Re-check authentication method

现在您的root用户已设置为通过安全密码连接到MySQL Shell,您可以使用exit命令如下退出shell:

mysql> exit

测试MySQL是否已启动并正在运行

为了检查MySQL是否在您的系统上运行,可以使用以下方法之一:

方法1:检查mysql.service的状态

在系统上安装MySQL之后,mysql.service最有可能自动运行。以下命令的输出应验证服务的活动状态:

$ systemctl status mysql.service

Check MySQL service status

如果由于某种原因该服务未运行,则可以将以下命令用作sudo来启动该服务:

$ sudo systemctl start mysql

以下命令将在需要时帮助您停止服务:

$ sudo systemctl stop mysql

方法2:以root用户身份连接到MySQL Admin并运行任何管理命令

MySQL Admin是一个客户端,可让您在MySQL上执行管理操作。让我们通过它运行一个管理命令作为示例,以检查系统是否正常运行,并且我们的根配置为使用它。

$ sudo mysqladmin -p -u root version

该命令旨在以root用户身份连接到MySQL,提示输入root密码,然后返回MySQL admin的版本号。

Check MySQL version using mysqladmin command

如果该命令完成了所需的操作,并且产生的输出与上述类似,则可以确保MySQL已启动并正在运行。

在Ubuntu上安装和设置MySQL的过程对于某些人来说似乎很麻烦,尤其是使用命令行。但是,如果您仔细地一步一步使用上述步骤,那么在Ubuntu上运行可靠,安全和稳定的MySQL安装将没有问题。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/9381.html,未经允许,请勿转载。