Rocky Linux 8 安装 MySQL 8.0

MySQL 是一个免费、开源且非常流行的关系数据库管理系统。 它是一个简单、快速且可扩展的基于 SQL 的数据库系统,可以作为 LAMP 或 LEMP 堆栈的一部分进行安装。 由于其速度和效率,它是电子商务和数据仓库应用程序的最佳选择。 MySQL 适用于所有 Linux 发行版以及其他操作系统。

在这篇文章中,我们将解释 Rocky Linux 8 上安装 MySQL 8。

先决条件

  • 在 云平台上运行 Rocky Linux 8 的服务器
  • 在我们的服务器上配置的 root 密码

创建 云服务器

首先,登录到我们的 云服务器。 创建一个新服务器,选择 Rocky Linux 8 作为至少 1GB RAM 的操作系统。 通过 SSH 连接到我们的云服务器并使用页面顶部突出显示的凭据登录。

在 Rocky Linux 8 上安装 MySQL 8.0

默认情况下,MySQL 8.0 包含在 Rocky Linux AppStream 存储库中。 我们可以使用以下命令验证可用的 MySQL 版本:

dnf module list mysql

我们将获得以下输出:

Rocky Linux 8 - AppStream                                                                                      13 MB/s | 9.7 MB     00:00    
Rocky Linux 8 - BaseOS                                                                                        6.4 MB/s | 6.8 MB     00:01    
Rocky Linux 8 - Extras                                                                                         22 kB/s |  12 kB     00:00    
Rocky Linux 8 - AppStream
Name                           Stream                          Profiles                                   Summary                             
mysql                          8.0 [d]                         client, server [d]                         MySQL Module                        

Hint: [d]efault, [e]nabled, [x]disabled, [i]nstalled

接下来,使用以下命令启用 MySQL 存储库:

dnf module enable mysql:8.0

我们将获得以下输出:

Last metadata expiration check: 0:00:15 ago on Tuesday 05 April 2022 03:20:47 PM UTC.
Dependencies resolved.
==============================================================================================================================================
 Package                           Architecture                     Version                           Repository                         Size
==============================================================================================================================================
Enabling module streams:
 mysql                                                              8.0                                                                      

Transaction Summary
==============================================================================================================================================

Is this ok [y/N]: y

现在,通过运行以下命令安装 MySQL 8.0:

dnf install @mysql -y

安装 MySQL 后,我们可以使用以下命令验证已安装的 MySQL 版本:

mysql --version

我们将获得以下输出:

mysql  Ver 8.0.26 for Linux on x86_64 (Source distribution)

管理 MySQL 8.0 服务

默认情况下,MySQL 服务由 systemd 管理。 我们可以使用 systemctl 命令从命令行对其进行管理。

要启动 MySQL 服务,请运行以下命令:

systemctl start mysqld

使用以下命令启用 MySQL 服务以在系统重新启动时启动:

systemctl enable mysqld

要检查 MySQL 服务的状态,请运行以下命令:

systemctl status mysqld

我们将获得以下输出:

● mysqld.service - MySQL 8.0 database server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; disabled; vendor preset: disabled)
   Active: active (running) since Tue 2022-04-05 15:42:24 UTC; 13s ago
  Process: 26108 ExecStartPost=/usr/libexec/mysql-check-upgrade (code=exited, status=0/SUCCESS)
  Process: 25984 ExecStartPre=/usr/libexec/mysql-prepare-db-dir mysqld.service (code=exited, status=0/SUCCESS)
  Process: 25960 ExecStartPre=/usr/libexec/mysql-check-socket (code=exited, status=0/SUCCESS)
 Main PID: 26064 (mysqld)
   Status: "Server is operational"
    Tasks: 38 (limit: 11412)
   Memory: 464.0M
   CGroup: /system.slice/mysqld.service
           └─26064 /usr/libexec/mysqld --basedir=/usr

Apr 05 15:42:16 rockylinux systemd[1]: Starting MySQL 8.0 database server...
Apr 05 15:42:16 rockylinux mysql-prepare-db-dir[25984]: Initializing MySQL database
Apr 05 15:42:24 rockylinux systemd[1]: Started MySQL 8.0 database server.

安全 MySQL 安装

默认情况下,MySQL 不安全且未设置 root 密码。 我们可以通过运行以下命令来保护它:

mysql_secure_installation

我们将被要求设置验证密码组件:

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 we like to setup VALIDATE PASSWORD component?

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

键入 Y 并按 Enter 键。 我们将被要求选择密码验证策略的级别:

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: 1

键入我们的首选选项,然后按 Enter 键。 系统将要求我们设置 root 密码:

Please set the password for root here.

New password: 

Re-enter new password: 

设置我们的 root 密码,然后按 Enter 键。 我们将被要求使用提供的密码继续:

Estimated strength of the password: 100 
Do we wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : Y

键入 Y 并按 Enter 键。 我们将被要求删除匿名用户:

Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y

键入 Y 并按 Enter 键。 我们将被要求删除测试数据库:

Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y

键入 Y 并按 Enter 键。 我们将被要求重新加载权限表:

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y

键入 Y 并按 Enter 键完成该过程。

连接到 MySQL 服务器

保护 MySQL 后,我们可以使用以下命令连接到 MySQL shell:

mysql -u root -p

我们将被要求提供我们的 root 密码:

Enter password: 

提供我们的 root 密码,然后按 Enter 键。 登录后,我们应该会在以下输出中看到 MySQL shell:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Wer MySQL connection id is 11
Server version: 8.0.26 Source distribution

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

我们可以使用以下命令检查 MySQL 版本:

mysql> SELECT VERSION ();

我们将获得以下输出:

+------------+
| VERSION () |
+------------+
| 8.0.26     |
+------------+

在 MySQL 中创建数据库和用户

要创建名为 testdb 的数据库,请运行以下命令:

mysql> CREATE DATABASE testdb;

要创建名为 testuser 的用户,请运行以下命令:

mysql> CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'securepassword';

要授予 testdb 数据库的所有权限,请运行以下命令:

mysql> GRANT ALL ON testdb.* TO 'testuser'@'localhost';

现在,刷新权限以应用更改:

mysql> FLUSH PRIVILEGES;

要列出所有 MySQL 用户,请运行以下命令:

mysql> select user from mysql.user;

我们将获得以下输出:

+------------------+
| user             |
+------------------+
| mysql.infoschema |
| mysql.session    |
| mysql.sys        |
| root             |
| testuser         |
+------------------+

要列出所有数据库,请运行以下命令:

mysql> SHOW DATABASES;

我们应该看到以下输出:

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| testdb             |
+--------------------+

现在,使用以下命令退出 MySQL:

mysql> EXIT;

删除或卸载 MySQL 8

如果我们不需要使用 MySQL 并希望将其从系统中删除,请运行以下命令:

dnf remove @mysql

删除 MySQL 后,使用以下命令删除 MySQL 数据目录:

rm -rf /var/lib/mysql*

在上面的帖子中,我们向我们展示了 Rocky Linux 8 上安装 MySQL 8.0。我们还解释了 MySQL 中创建数据库和用户。

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享
评论 抢沙发

请登录后发表评论