Rocky Linux 9.4安装MySQL8

在Rocky Linux 9.4上安装MySQL 8的步骤可以分为以下几个部分:

一、系统准备

1. 更新系统软件包(可选但推荐):

这个命令的目的是更新系统上已安装的软件包到最新版本。为了减少风险,建议在执行 dnf upgrade --refresh -y 之前备份重要数据,并在测试环境中测试更新。

sudo dnf upgrade --refresh -y

这条命令用于升级系统软件包,确保你的系统环境是最新的,这有助于提高安装MySQL的稳定性和安全性。

二、安装MySQL

Rocky Linux 9.4可以从默认的软件库中获取MySQL 8,也可以使用MySQL官网提供的RPM包进行安装。以下是两种方法的详细说明:

方法一:从默认软件库安装

a. 安装MySQL服务器及其依赖项:
sudo dnf install mysql-server

这条命令会安装MySQL服务器以及它所需的所有依赖项。

b. 启动MySQL服务:
sudo systemctl start mysqld

使用systemctl命令启动MySQL服务。

c. 设置MySQL服务开机自启:
sudo systemctl enable mysqld

这条命令确保MySQL服务在系统启动时自动启动。

方法二:从MySQL官网下载RPM包安装

如果你需要从MySQL官网下载特定版本的RPM包(如MySQL 8.0.37),可以按照以下步骤操作:

a. 下载MySQL RPM包:


访问MySQL官网的下载页面(MySQL :: Download MySQL Community Server),选择适合Rocky Linux 9.4的RPM包版本下载。例如,下载mysql-8.0.37-1.el9.x86_64.rpm-bundle.tar。

b. 解压RPM包


使用tar命令解压下载的RPM包:

tar -xvf mysql-8.0.37-1.el9.x86_64.rpm-bundle.tar
c. 安装MySQL RPM包


按照依赖关系顺序安装RPM包。通常的安装顺序是:

sudo rpm -ivh mysql-community-common-8.0.37-1.el9.x86_64.rpm  
sudo rpm -ivh mysql-community-client-plugins-8.0.37-1.el9.x86_64.rpm  
sudo rpm -ivh mysql-community-libs-8.0.37-1.el9.x86_64.rpm  
sudo rpm -ivh mysql-community-client-8.0.37-1.el9.x86_64.rpm  
sudo rpm -ivh mysql-community-icu-data-files-8.0.37-1.el9.x86_64.rpm  
sudo rpm -ivh mysql-community-server-8.0.37-1.el9.x86_64.rpm

注意:如果在安装mysql-community-server时遇到依赖问题,如缺少perl,可以使用dnf install perl来安装缺失的依赖。

安装过程中可能提示缺少依赖,执行以下命令安装:

dnf install libtirpc net-tools

说明:
安装时提示:mariadb-connector-c-config is obsoleted by mysql-community-server-8.0.37-1.el9.x86_64 处理 mariadb-connector-c-config 被废弃的警告。

这个警告表明你尝试安装的 MySQL 版本与系统中可能已安装的 MariaDB 连接器 C 的配置工具不兼容。这通常不会阻止 MySQL 的安装,但如果你之前安装了 MariaDB 并希望迁移到 MySQL,你可能需要卸载 MariaDB 相关的包。

使用以下命令查找并卸载 MariaDB 相关的包:

查找mariadb:rpm -qa | grep mariadb

卸载:sudo dnf remove mariadb* 或者sudo yum remove mariadb*

然后再重新执行安装

dnf install mysql-community-server
d. 启动MySQL服务
sudo systemctl start mysqld

e. 设置MySQL服务开机自启

sudo systemctl enable mysqld

三、初始化MySQL

安装完成后,需要初始化MySQL并设置root密码。MySQL的初始化过程会自动创建root用户的临时密码,你可以通过查看MySQL日志文件(如/var/log/mysqld.log)来获取这个临时密码。

说明:对于MySQL 5.7及之前版本,通常需要手动执行初始化命令。但是,从MySQL 5.7.6开始,mysqld 会在首次启动时自动初始化数据目录(如果数据目录为空)。在Rocky Linux 9.4中,很可能你安装的MySQL版本已经包含了这一自动初始化的功能。

1. 查看临时密码
sudo grep 'temporary password' /var/log/mysqld.log
2. 登录MySQL

 使用root用户和临时密码登录MySQL

mysql -uroot -p
3. 修改root密码

 登录后,使用ALTER USER命令修改root密码,例如:

ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';
4. 更改root连接权限
use mysql; # 使用mysql登录。
update user set host='%' where user = 'root'; # 修改root账户可以链接使用。
flush privileges;
# exit; 退出mysql,现在就可以通过连接工具登录root账户进行远程连接了

# 注意:如果是远程连接,请将'localhost'换成'%'
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的密码';
flush privileges;

#说明
'%' - 所有情况都能访问
‘localhost’ - 本机才能访问
’111.222.33.44‘ - 指定 ip 才能访问
5. 给用户授予权限
grant all on 数据库名.数据库表 to 用户名@'%'  identified by "密码";
备注:
all 可以替换为 select,delete,update,create,drop #授予某种权限,all就是所有权限。
数据库名 所有的 用*
数据库表 所有的 用*
6. 创建用户及授权
# 登陆MySQL
mysql -u root -p
# 创建用户
CREATE USER 'newuser'@'%' IDENTIFIED BY 'newpassword';
# 授权所有库的查询
GRANT SELECT ON *.* TO 'newuser'@'%';

# 授权 对所有数据库的所有权限
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'%' WITH GRANT OPTION;

# 授权特定的数据库的查询权限
GRANT SELECT ON your_database_name.* TO 'newuser'@'%';

#授权特定的表增删改查的权限
GRANT INSERT, UPDATE, DELETE, SELECT ON your_database_name.your_table_name TO 'newuser'@'%';


# 授予所有数据库表的增删改查权限:对所有数据库表的增删改查权限,但不包括删除数据库的权限。
GRANT SELECT, INSERT, UPDATE, DELETE ON *.* TO 'mysql01'@'%';
# 然后 ,需要明确地撤销该用户对数据库的 DROP 权限,以确保他们不能删除数据库:
REVOKE DROP ON *.* FROM 'mysql01'@'%';
# 刷新权限
FLUSH PRIVILEGES;
7. 安全配置(可选):


为了增加MySQL的安全性,建议运行mysql_secure_installation脚本,该脚本会引导你完成一系列的安全设置,如删除匿名用户、禁止root远程登录等。

通过以上步骤,你可以在Rocky Linux 9.4上成功安装并配置MySQL 8。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值