如何在CentOS 8上安装MySQL

介绍

MySQL是一个开源数据库管理系统,通常作为流行的LEMP(Linux,Nginx,MySQL / MariaDB,PHP / Python / Perl)堆栈的一部分安装。它实现了关系模型结构化查询语言(SQL)来管理和查询数据。

本教程说明了如何在CentOS 8服务器上安装MySQL版本8。

先决条件

要完成本教程,您将需要一台运行CentOS 8的服务器。该服务器应具有具有管理特权的非root用户,并使用配置了防火墙firewalld。要进行设置,请参阅我们的CentOS 8初始服务器设置指南

1-安装MySQL

在CentOS 8上,默认存储库中提供了MySQL版本8。

运行以下命令以安装mysql-server软件包及其许多依赖项:

  • sudo dnf install mysql-server
  •  

出现提示时,按y,然后ENTER确认要继续:

Output

. . .

Install  49 Packages

 

Total download size: 46 M

Installed size: 252 M

Is this ok [y/N]: y

这样,MySQL已安装在您的服务器上,但尚未运行。您刚安装的软件包将MySQL配置为作为systemd名为的服务运行mysqld.service。为了使用MySQL,您需要使用以下systemctl命令启动它:

  • sudo systemctl start mysqld.service
  •  

要检查服务是否正常运行,请运行以下命令。请注意,对于许多systemctl命令(包括start和,如此处所示),status您不需要.service在服务名称之后包括:

  • sudo systemctl status mysqld
  •  

如果成功启动了MySQL,则输出将显示MySQL服务处于活动状态:

Output

● mysqld.service - MySQL 8.0 database server

   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; enabled; vendor preset: disabled)

   Active: active (running) since Thu 2020-03-12 14:07:41 UTC; 1min 7s ago

 Main PID: 15723 (mysqld)

   Status: "Server is operational"

    Tasks: 38 (limit: 5056)

   Memory: 474.2M

   CGroup: /system.slice/mysqld.service

           └─15723 /usr/libexec/mysqld --basedir=/usr

 

Mar 12 14:07:32 cent-mysql-3 systemd[1]: Starting MySQL 8.0 database server...

Mar 12 14:07:32 cent-mysql-3 mysql-prepare-db-dir[15639]: Initializing MySQL database

Mar 12 14:07:41 cent-mysql-3 systemd[1]: Started MySQL 8.0 database server.

接下来,将MySQL设置为在服务器启动时使用以下命令启动:

  • sudo systemctl enable mysqld
  •  

注意:如果您想更改此行为并禁止MySQL在启动时启动,可以通过运行以下命令来进行:

  • sudo systemctl disable mysqld
  •  

现在已在服务器上安装,运行并启用了MySQL。接下来,我们将讨论如何使用MySQL实例预装的Shell脚本来增强数据库的安全性。

2-保护MySQL安全

MySQL包含一个安全脚本,该脚本允许您更改一些默认配置选项以提高MySQL的安全性。

要使用安全脚本,请运行以下命令:

  • sudo mysql_secure_installation
  •  

这将引导您完成一系列提示,询问您是否要对MySQL安装的安全性选项进行某些更改。第一个提示将询问您是否要设置验证密码插件,该插件可用于测试MySQL密码的强度。

如果选择设置“验证密码插件”,则脚本将要求您选择密码验证级别。通过输入来选择的最高级级别2将要求密码长度至少为八个字符,并包括大写,小写,数字和特殊字符的组合:

Output

Securing the MySQL server deployment.

 

Connecting to MySQL using a blank password.

 

VALIDATE PASSWORD COMPONENT can be used to test passwords

and improve security. It checks the strength of password

and allows the users to set only those passwords which are

secure enough. Would you like to setup VALIDATE PASSWORD component?

 

Press y|Y for Yes, any other key for No: Y

 

There are three levels of password validation policy:

 

LOW    Length >= 8

MEDIUM Length >= 8, numeric, mixed case, and special characters

STRONG Length >= 8, numeric, mixed case, special characters and dictionary                  file

 

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2

无论您是否选择设置“验证密码插件”,下一个提示都是为MySQL 用户设置密码。输入,然后确认您选择的安全密码:

Output

Please set the password for root here.

 

 

New password:

 

Re-enter new password:

如果您使用了验证密码插件,您将收到有关新密码强度的反馈。然后,脚本将询问您是否要继续使用刚刚输入的密码,还是要输入一个新密码。假设您对刚输入的密码的强度感到满意,请输入Y以继续执行脚本:

Output

Estimated strength of the password: 100

Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y

之后,您可以按Y,然后ENTER接受所有后续问题的默认设置。这将删除一些匿名用户和测试数据库,禁用远程root登录,并加载这些新规则,以便MySQL立即尊重您所做的更改。

这样,您就可以在CentOS 8服务器上安装并保护MySQL。作为最后一步,我们将测试数据库是否可以访问并且是否按预期工作。

3-测试MySQL

您可以通过与该mysqladmin工具连接来验证安装并获取有关安装的信息,该工具是允许您运行管理命令的客户端。使用以下命令以root(-u root)身份连接到MySQL ,提示输入密码(-p),并返回安装版本:

  • mysqladmin -u root -p version
  •  

您将看到类似于以下的输出:

输出量

mysqladmin  Ver 8.0.17 for Linux on x86_64 (Source distribution)

Copyright (c) 2000, 2019, 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.17

Protocol version    10

Connection      Localhost via UNIX socket

UNIX socket     /var/lib/mysql/mysql.sock

Uptime:         2 hours 52 min 37 sec

 

Threads: 2  Questions: 20  Slow queries: 0  Opens: 131  Flush tables: 3  Open tables: 48  Queries per second avg: 0.001

这表明安装成功。

如果您想连接到MySQL并开始向其中添加数据,请运行以下命令:

  • mysql -u root -p
  •  

与上一个mysqladmin命令类似,此命令包括-u选项(该选项可让您指定要连接的用户)(该情况下为root)和-p选项(该选项可告诉命令提示您输入在其中设置的用户密码)。上一步。

输入您的root MySQL用户密码后,您将看到My​​SQL提示符:

  •  
  •  

从那里开始,您可以开始使用MySQL安装来创建和加载数据库并开始运行查询。

结论

通过遵循本教程,您已经在CentOS 8服务器上安装并保护了MySQL。从这里,您可以安装Nginx和PHP以在服务器上具有完全可操作的LEMP堆栈

要了解有关使用MySQL的更多信息,我们建议您阅读官方文档

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值