如何在 CentOS 9 Stream 服务器上安装 MySQL?

MySQL 是网站和服务器应用程序中使用最广泛的数据库管理系统之一。它是每个网站管理员都应该学习的必备工具。因此,在本教程中,我将向大家如何在 CentOS 9 Stream 服务器上安装 MySQL?

在 CentOS 9 上安装 MySQL 需要三个步骤------下载 MySQL 仓库、安装并检查其状态。我们将更详细地介绍每个步骤。

下载并准备 MySQL 存储库

在开始学习如何安装 MySQL 之前,请确保专用服务器运行在 CentOS 9 Stream 上,并且拥有 root 权限。

我们需要通过输入以下命令来更新我们的系统:

复制代码
sudo yum update

系统更新完成后,就可以下载 MySQL 存储库了。也可以在此处查看其他存储库版本。

复制代码
sudo wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

下载结束时,应该会看到一条确认消息,表明 .rpm 文件已保存。

现在,我们需要准备存储库,以便稍后可以从中安装 MySQL 软件包。只需输入:

复制代码
sudo rpm -Uvh mysql80-community-release-el7-3.noarch.rpm

一旦输出表明更新和安装完成,将能够安装 MySQL。

安装 MySQL

使用以下 yum install 命令安装 MySQL:

复制代码
sudo yum install mysql-server

该脚本将返回软件包列表,并要求确认下载并安装它们。对于每个请求,输入 y 并按 ENTER 键

需要执行此操作几次,但最终会在安装结束时看到"
完成!"
消息 - 这意味着已在服务器上成功安装了 MySQL。

启动 MySQL 并检查其状态

在 CentOS 9 上安装好 MySQL 后,它不会在安装后立即自动启动。因此,需要通过以下命令手动启动它:

复制代码
sudo systemctl start mysqld

MySQL 启动后将不会收到任何响应,因此要检查它是否正常工作,请使用以下命令:

复制代码
sudo systemctl status mysqld

它将输出有关 MySQL 进程的信息:

如果看到 MySQL 处于活动状态并正在运行,如上图所示,则表示已在服务器上成功安装并启动了 MySQL。

如何配置 MySQL?

现在已完成所有设置,我们将向展示使用 MySQL 时应该知道的一些有用的命令和调整。

更改 MySQL Root 用户密码

在 CentOS 9 Stream 上安装 MySQL 时,会生成一个临时的 root 密码。输入以下命令查看该密码:

复制代码
sudo grep 'password' /var/log/mysqld.log

要更改它,请按照以下步骤操作:

首先,运行以下命令:

复制代码
sudo mysql_secure_installation

输入临时密码,会弹出如下提示:

复制代码
The existing password for the user account root has expired. Please set a new password.
New password:
Re-enter new password:

现在,输入一个新的强密码。

Pro Tip

sh 复制代码
A strong password is 8-12 characters long and includes numbers, special characters, uppercase, and lowercase letters.
强密码长度为 8-12 个字符,包括数字、特殊字符、大写字母和小写字母。

按照屏幕上的说明,按 y 完成设置。已成功更改 root 用户密码。

检查当前 MySQL 版本

在 CentOS 9 Sream 上安装 MySQL 后,可以通过检查其版本来测试一切是否设置正确。输入以下命令:

复制代码
mysql -u root -p

输入创建的 root 密码,响应如下:

复制代码
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 22
Server version: 8.0.20

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

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

重置 MySQL Root 密码

如果想重置密码,过程非常简单。按照以下步骤更改的 MySQL 根密码:

使用以下命令停止 MySQL 服务器:

复制代码
sudo systemctl stop mysqld

安全模式重新启动 MySQL,或者无需密码,输入以下命令:

复制代码
sudo mysqld_safe --skip-grant-tables

如果 MySQL 服务器已启动但似乎挂起,请按 ENTER

使用以下命令以 root 身份重新连接到 MySQL:

复制代码
mysql -uroot

要更改 root 密码,请使用以下命令:

复制代码
USE MYSQL;
UPDATE USER SET PASSWORD=PASSWORD("newpassword") WHERE USER='root';
FLUSH PRIVILEGES;
EXIT

用自己的强密码替换**新密码 **。

最后,使用以下命令重新启动 MySQL:

复制代码
sudo systemctl start mysqld

现在可以使用新密码登录 MySQL。

创建新的 MySQL 用户和数据库

作为 MySQL 中的根用户,可以完全访问所有数据库。

但是,如果与团队合作,则在某些情况下可能需要应用一些限制。要么必须构建新的数据库,要么创建具有自定义权限的用户。

以下是快速解决此问题的方法:

使用以下命令创建一个新的数据库:

复制代码
CREATE DATABASE newdb

newdb 更改为数据库的名称。

通过输入以下行来创建新用户:

复制代码
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password'

更改用户名密码 的变量以创建新用户。

如果想删除某个用户,请使用以下命令:

复制代码
DROP USER 'username'@'localhost'

管理 MySQL 用户权限

通过输入以下内容授予新用户访问数据库的权限:

复制代码
GRANT ALL PRIVILEGES ON newdb.* TO 'username'@'localhost'

还可以单独授予权限,包括:

  • SELECT -- users can read through the database using the select command
    SELECT -- 用户可以使用 select 命令读取数据库
  • CREATE -- they can generate new tables
    CREATE -- 他们可以生成新表
  • DROP -- allows users to remove tables
    DROP -- 允许用户删除表
  • DELETE -- users can take out rows from tables
    DELETE -- 用户可以从表中删除行
  • INSERT -- lets users add in rows into tables
    INSERT -- 允许用户在表中添加行
  • UPDATE -- enable them to update the rows
    UPDATE -- 使他们能够更新行
  • GRANT OPTION -- they can grant or remove the privileges of other users
    GRANT OPTION -- 他们可以授予或删除其他用户的权限

例如,要授予 CREATE 权限,需要输入:

复制代码
GRANT CREATE ON newdb.* TO 'username'@'localhost'

另一方面,如果想删除某人的访问权限,请使用以下命令:

复制代码
REVOKE permission_type ON newdb.* TO 'username'@'localhost'

还可以检查用户当前拥有的权限:

复制代码
SHOW GRANTS username

最后,一旦完成了用户管理,最好使用此命令重置所有权限以使更改生效:

复制代码
FLUSH PRIVILEGES

其他有用的 MySQL 命令

MySQL 还提供了其他一些有用的命令。只需输入 \hhelp 即可查看以下列表:

复制代码
List of all MySQL commands:
Note that all text commands must be first on line and end with ';'
?     (\?) Synonym for `help'.
clear   (\c) Clear command.
connect  (\r) Reconnect to the server. Optional arguments are db and host.
delimiter (\d) Set statement delimiter. NOTE: Takes the rest of the line as new delimiter.
edit   (\e) Edit command with $EDITOR.
ego    (\G) Send command to mysql server, display result vertically.
exit   (\q) Exit mysql. Same as quit.
go    (\g) Send command to mysql server.
help   (\h) Display this help.
nopager  (\n) Disable pager, print to stdout.
notee   (\t) Don't write into outfile.
pager   (\P) Set PAGER [to_pager]. Print the query results via PAGER.
print   (\p) Print current command.
prompt  (\R) Change your mysql prompt.
quit   (\q) Quit mysql.
rehash  (\#) Rebuild completion hash.
source  (\.) Execute an SQL script file. Takes a file name as an argument.
status  (\s) Get status information from the server.
system  (\!) Execute a system shell command.
tee    (\T) Set outfile [to_outfile]. Append everything into given outfile.
use    (\u) Use another database. Takes database name as argument.
charset  (\C) Switch to another charset. Might be needed for processing binlog with multi-byte charsets.
warnings (\W) Show warnings after every statement.
nowarning (\w) Don't show warnings after every statement.

For server side help, type 'help contents'
mysql>
相关推荐
趙小贞13 小时前
UART 串口协议详解与 STM32 实战实现
stm32·单片机·嵌入式硬件·通信协议·1024程序员节
今天背单词了吗98013 小时前
Spring Boot+RabbitMQ 实战:4 种交换机模式(Work/Fanout/Direct/Topic)保姆级实现
java·spring·中间件·rabbitmq·1024程序员节
jojo是只猫13 小时前
vscode中好用的插件
1024程序员节
CodeCraft Studio13 小时前
FastReport .NET 2026.1 全新发布: 统一Demo中心、全新Ribbon界面、Excel公式导出、Word图像质量设置等重磅升级!
1024程序员节·fastreport .net·fastreport·报表设计器·报表开发工具·ribbon ui
猫头虎13 小时前
大模型训练中的关键技术与挑战:数据采集、微调与资源优化
人工智能·爬虫·数据挖掘·数据分析·网络爬虫·aigc·1024程序员节
m0_5164846713 小时前
博途DWORD中包含word ,字节,位的关系
1024程序员节
itachi-uchiha13 小时前
bash的“进程替换 + 重定向”和“传统管道”
1024程序员节
Aevget13 小时前
DevExpress WPF中文教程:Data Grid - 如何使用虚拟源?(三)
wpf·界面控件·devexpress·ui开发·1024程序员节
代码改变世界1008613 小时前
像素塔防游戏:像素守卫者
css·游戏·css3·1024程序员节