如何清理全部已安装的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 脚本进行安全加固。
相关推荐
Rick19938 分钟前
mysql 慢查询怎么快速定位
android·数据库·mysql
科技小花7 小时前
全球化深水区,数据治理成为企业出海 “核心竞争力”
大数据·数据库·人工智能·数据治理·数据中台·全球化
X56618 小时前
如何在 Laravel 中正确保存嵌套动态表单数据(主服务与子服务)
jvm·数据库·python
虹科网络安全9 小时前
艾体宝干货|数据复制详解:类型、原理与适用场景
java·开发语言·数据库
2301_7717172110 小时前
解决mysql报错:1406, Data too long for column
android·数据库·mysql
绘梨衣54710 小时前
Docker+FastAPI+MySQL 项目部署报错汇总
mysql·docker·fastapi
小江的记录本10 小时前
【Kafka核心】架构模型:Producer、Broker、Consumer、Consumer Group、Topic、Partition、Replica
java·数据库·分布式·后端·搜索引擎·架构·kafka
dvjr cloi10 小时前
MySQL Workbench菜单汉化为中文
android·数据库·mysql
dFObBIMmai11 小时前
MySQL主从同步中大事务导致的延迟_如何拆分大事务优化同步
jvm·数据库·python
szccyw011 小时前
mysql如何限制特定存储过程执行权限_MySQL存储过程安全访问
jvm·数据库·python