卸载原有MySQL:

停止MySQL服务
首先,你需要停止正在运行的MySQL服务打开终端执行以下命令

sudo systemctl stop mysqld

查找安装的MySQL包
卸载之前,你需要知道哪些MySQL相关的包已经安装系统上。可以使用以下命令来查找

rpm -qa | grep mysql

卸载MySQL包:

sudo rpm -e mysql-community-server
sudo rpm -e mysql-community-client
sudo rpm -e mysql-community-common
sudo rpm -e mysql-community-libs-compat mysql-community-libs

上面的命令会删除所有包含mysql字样的包,–nodeps 参数告诉rpm忽略依赖性,直接卸载

sudo rpm -e --nodeps mysql-community-libs-compat mysql-community-libs
rpm -qa | grep mysql
sudo rpm -e mysql-community-common

查看是否还留存到有:

rpm -qa | grep mysql

 删除数据配置文件
卸载MySQL软件包后,原有的数据配置文件仍然会保留系统中。根据需要,你可以手动删除这些文件。通常,MySQL的数据目录位于/var/lib/mysql,而配置文件通常在/etc/my.cnf以及/etc/my.cnf.d/。

sudo rm -rf /var/lib/mysql
sudo rm /etc/my.cnf
sudo rm -rf /etc/my.cnf.d/
sudo find / -name mysql

 清理YUM缓存
最后清理YUM缓存确保所有软件包信息都是最新的。

bash sudo yum clean all

安装MySQL8

访问 MySQL 官方下载页面MySQL :: Download MySQL Yum Repository找到适合 CentOS 的 Yum Repository 并下载。或者使用以下命令直接下载:

wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

如果没有安装wget运行如下命令安装

sudo yum install -y wget

 添加 MySQL Yum Repository

使用下载的 rpm添加仓库

sudo rpm -Uvh mysql80-community-release-el7-3.noarch.rpm

这将会在 /etc/yum.repos.d/ 目录添加 MySQL 的 yum repository

安装 MySQL 服务器

使用 yum 安装 MySQL:

sudo yum install mysql-community-server

这里出现安装失败的情况

 可以尝试手动导入密钥。MySQL 官方提供了 GPG 公钥可以通过以下命令进行导入

sudo rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022

上面的 URL 中的密钥年份例如 mysql-2022可能会随时间而改变,所以请根据实际情况和官方文档更新正确密钥 URL。导入新的 GPG 密钥后,再次尝试安装软件包

sudo yum install mysql-community-client-plugins

 再次安装M有SQL服务

sudo yum install mysql-community-server

启动 MySQL 服务

sudo systemctl start mysqld

设置 MySQL 服务开机自启

sudo systemctl enable mysqld

查看默认生成root 密码

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

使用以下命令登录 MySQL 数据库输入临时生成的密码:

mysql -u root -p

 MySQL 8.0 引入一个密码验证插件,它用来强制实施密码强度策略。如果你想要取消或者降低这个安全权限,你可以调整密码验证策略配置

SET GLOBAL validate_password.policy = LOW;

降低密码长度的要求

#最少可以是4位
SET GLOBAL validate_password.length = 4;

 设置新的密码

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';

 更新表中连接权限信息可以让外面主机连接

update mysql.user set host='%' where user='root';

 

更新好之后执行刷新操作

flush privileges;

在Navicat测试连接

原文地址:https://blog.csdn.net/dafsq/article/details/134812606

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_50061.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注