如何清理全部已安装的mysql,之后重新安装mysql 8

由于系统存在多个MySQL安装且官方源失效,彻底清理后重新安装是合理的选择。

整个过程分为三步:彻底卸载旧版本 -> 配置可用yum源 -> 安装MySQL 8。

🔍 第一步:彻底卸载MySQL

请按顺序执行以下命令,确保所有相关文件被清除。所有操作均需要在root权限下进行。

步骤 命令 作用说明
1. 停止服务 systemctl stop mysqld 2>/dev/null 停止正在运行的MySQL服务。
2. 移除安装包 yum remove -y mysql-common mysql-community-* 批量移除通过yum安装的MySQL相关包。
3. 检查残留 `rpm -qa grep -i mysql`
4. 强制移除 rpm -ev --nodeps <包名> 如果上一步有输出,用此命令强制删除每个包。
5. 清理残留文件 find / -name mysql 关键步骤:查找所有残留的MySQL目录和文件。
6. 删除找到的目录 rm -rf <上一步找到的路径> 逐一手动删除找到的目录,常见目录 包括:/var/lib/mysql, /etc/my.cnf, /usr/local/mysql等。
7. 删除配置文件 rm -rf /etc/my.cnf* 删除主配置文件。
8. 删除日志文件 rm -rf /var/log/mysqld.log 清理旧日志。
9. 最终确认 `rpm -qa grep -i mysql`

🔧 第二步:配置可用的Yum源(关键)

由于CentOS 7官方源已停止维护,直接安装会失败。在安装MySQL前,必须先配置一个可用的替代源。请执行以下命令,将系统yum源替换为阿里云的Vault存档源:

bash 复制代码
# 1. 备份现有yum源配置文件
mkdir -p /etc/yum.repos.d/backup
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/ 2>/dev/null

# 2. 下载阿里云为CentOS 7提供的存档源配置文件
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-7.9.2009.repo

# 3. 清理并重建缓存
yum clean all
yum makecache

📦 第三步:安装并配置MySQL 8.0

系统源配置好后,即可从MySQL官方仓库安装。

  1. 添加MySQL官方Yum仓库

    bash 复制代码
    # 下载并安装MySQL仓库配置包
    wget https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm
    rpm -Uvh mysql80-community-release-el7-7.noarch.rpm
  2. 安装MySQL服务器

    bash 复制代码
    yum install -y mysql-community-server
  3. 启动MySQL并设置开机自启

    bash 复制代码
    systemctl start mysqld
    systemctl enable mysqld
  4. 获取并修改初始密码

    bash 复制代码
    # 从日志中获取临时密码
    grep 'temporary password' /var/log/mysqld.log
    # 使用获取的密码登录
    mysql -u root -p

    登录后,在MySQL提示符下执行以下命令修改密码(请将YourNewPassword123!替换为你的强密码):

    sql 复制代码
    ALTER USER 'root'@'localhost' IDENTIFIED BY 'YourNewPassword123!';
    FLUSH PRIVILEGES;
    EXIT;

💡 注意事项

  • 重要 :第二步(配置yum源)是后续成功安装的基础,不可跳过。否则安装mysql-community-server时会因缺少依赖而失败。
  • 安全性 :出于安全考虑,安装后建议运行 mysql_secure_installation 脚本进行安全加固。
相关推荐
for_ever_love__4 小时前
MySQL 优化器与 OPTIMIZER_TRACE:把‘为什么选这条计划‘问到水落石出
数据库·mysql·优化器·trace·optimizer·执行计划分析·cic
j7~4 小时前
【仿 RabbitMQ 项目】发布订阅消息队列 (篇九):队列数据管理,内存镜像 + SQLite 持久化实现
数据库·c++·分布式·sqlite·rabbitmq·队列数据管理
l1t4 小时前
DeepSeek总结的PostgreSQL中TABLESAMPLE 如何挑选行
数据库·sql
qyyyyy5704 小时前
WhatsApp 联系人表格怎么清洗?Excel 文本类型、重复号码与姓名冲突处理
数据库·自然语言处理·excel·hash
云贝贝贝5 小时前
Oracle 认证实战指南
数据库·oracle
靠沿5 小时前
MySQL数据库基础——事务
java·数据库·mysql
AIFQuant5 小时前
Python港股实时行情API接入:恒生股票数据获取与AH股溢价监控实战
开发语言·数据库·python·金融·实时数据api
夜雪一千5 小时前
MySQL 中查询和操作JSON类型的数据
数据库·mysql·json
达梦数据5 小时前
达梦数据复制软件DMDRS搭建部署示例:源数据库DMDPC到目标数据库DM8一对一数据同步
数据库·oracle
AIgorithmGEEK13 小时前
MySQL 索引全解(下):建、查、删实战与知识速查表
数据库·mysql·b+树·索引