CentOS Stream 9 安装MySQL8.0

一、在 CentOS Stream 9 上彻底移除之前安装的 MySQL 及其依赖包

1、卸载 MySQL 相关包

#列出所有已安装的 MySQL 相关包

sudo dnf list installed | grep -i mysql

#卸载 MySQL 服务器、客户端和依赖

sudo dnf remove -y mysql-community-server mysql-community-client mysql-common

2、移除 MySQL 官方仓库

#检查并移除 MySQL 官方仓库

sudo dnf remove -y mysql80-community-release
sudo rm -f /etc/yum.repos.d/mysql-community*

3、 清理残留文件和目录

#删除 MySQL 数据、配置和日志

sudo rm -rf /var/lib/mysql/
sudo rm -rf /etc/my.cnf /etc/my.cnf.d/
sudo rm -rf /var/log/mysqld.log

#可能存在的临时文件

sudo rm -rf /tmp/mysql*

4、卸载手动安装的依赖包(如 openssl10-libs)

#检查并卸载手动安装的 openssl10-libs

sudo rpm -qa | grep -i openssl10
sudo rpm -e openssl10-libs-1.0.2o-4.el7.x86_64 # 替换为你的实际包名

#清理残留符号链接

sudo rm -f /usr/lib64/libcrypto.so.10 /usr/lib64/libssl.so.10

5、重置系统库缓存

#重建 DNF 和动态链接库缓存

sudo dnf clean all
sudo ldconfig

6、验证是否卸载干净

#检查 MySQL 是否已移除

which mysql # 应该返回无结果
mysql --version # 应该提示 "command not found"

#检查残留文件

sudo find / -name "*mysql*" 2>/dev/null | grep -v "snap" # 忽略无关结果

7、可选:卸载 MariaDB(如果之前安装过)

sudo dnf remove -y mariadb-server mariadb
sudo rm -rf /var/lib/mysql/

二、CentOS Stream 9 系统安装 MySQL 8.0 的完整详细步骤(已解决依赖问题)

1、彻底清理旧版本(确保已执行你的卸载操作)

sudo dnf remove -y mysql-* mariadb-*
sudo rm -rf /var/lib/mysql /etc/my.cnf* /var/log/mysql*
sudo dnf autoremove -y

2、安装必要工具

sudo dnf install -y wget rpm tar gcc-c++ make

3、 添加 MySQL 官方仓库

sudo wget https://dev.mysql.com/get/mysql80-community-release-el9-5.noarch.rpm
sudo rpm -ivh mysql80-community-release-el9-5.noarch.rpm

4、关键步骤:解决 OpenSSL 3.0 兼容问题
(1)禁用默认的模块化 OpenSSL 3.0

sudo dnf module disable -y openssl

(2)确认系统 OpenSSL 版本

openssl version

#输出应为 OpenSSL 3.0.x(CentOS Stream 9 默认)

(3)安装兼容性 OpenSSL 1.1,由于 CentOS Stream 9 已移除 openssl1.1 包,需从第三方仓库获取:

#添加 EPEL 仓库(Extra Packages for Enterprise Linux)

sudo dnf install -y epel-release

#安装 OpenSSL 1.1

sudo dnf install -y compat-openssl11

(4)创建符号链接(关键步骤)

#查找 OpenSSL 1.1 库路径

ls /usr/lib64/libcrypto.so.1.1 # 如果不存在,尝试以下路径
ls /usr/lib64/openssl11/libcrypto.so.1.1

#创建符号链接(根据实际路径调整)

sudo ln -sf /usr/lib64/openssl11/libcrypto.so.1.1 /usr/lib64/libcrypto.so.10
sudo ln -sf /usr/lib64/openssl11/libssl.so.1.1 /usr/lib64/libssl.so.10

(5)验证库文件

#添加 MySQL 官方仓库

sudo dnf install -y https://dev.mysql.com/get/mysql80-community-release-el9-5.noarch.rpm

#安装 MySQL

sudo dnf install -y mysql-community-server --allowerasing

5、安装 MySQL 8.0

#添加 MySQL 官方仓库

sudo dnf install -y https://dev.mysql.com/get/mysql80-community-release-el9-5.noarch.rpm

#安装 MySQL

sudo dnf install -y mysql-community-server --allowerasing

6、验证安装成功

mysql --version

#应输出:mysql Ver 8.0.xx for Linux on x86_64

三、配置MySQL

1、初始化数据库

sudo mysqld --initialize --user=mysql

2、启动服务并设置开机自启

sudo systemctl start mysqld
sudo systemctl enable mysqld

sudo systemctl status mysqld #查看运行状态

4、安全配置(修改密码/移除测试库等)

该步骤参考下面第四点

sudo mysql_secure_installation

按提示操作:输入临时密码 → 设置新密码 → 移除匿名用户 → 禁止远程root登录 → 移除测试数据库

四、设置简单密码,如123456

由于MySQL 8.0 强制要求首次登录后必须修改 root 密码,然后才能执行其他操作。以下是完整的解决方案:

1、获取临时密码

sudo grep 'temporary password' /var/log/mysqld.log

输出示例:A temporary password is generated for root@localhost: abc123xy
2、先用临时密码登录后立即修改密码

#使用日志中的临时密码登录(注意特殊字符要用引号包裹)

mysql -uroot -p'你获取的临时密码'

#进入MySQL后立即修改密码(满足当前密码策略)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'TempPass@123';
#刷新权限
FLUSH PRIVILEGES;

3、卸载密码验证组件

#现在可以执行卸载操作
UNINSTALL COMPONENT 'file://component_validate_password';
#确认卸载成功(应返回空)
SHOW COMPONENTS;

4、设置简单密码

#修改为简单密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

5、如需恢复默认安全策略,重新安装组件即可:

INSTALL COMPONENT 'file://component_validate_password';

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值