【CentOS | MySQL | uninstall】关于安装的MySQL与系统版本不匹配问题,MySQL卸载与重装

文章目录

问题

解决centos7与MySQL版本不匹配问题

  • 核心问题:下载并安装了错误的MySQL版本包

  • 从截图中,我们可以看出系统版本是centos7而下载的MySQL是针对centos6的。

在 CentOS 7 系统上强制安装 CentOS 6 的二进制包,会导致核心库(glibc等)不兼容,从而导致 mysqld 守护进程无法启动,报 exit-code 错误。

解决

1. 卸载已安装的不匹配版本

  1. 确保该服务停止
    systemctl stop mysqld

    检查状态 systemctl status mysqld

  2. 写在所有相关的安装包|卸载所有 mysql-community 相关的 el6 包

    ·yum remove mysql-community-server mysql-community-client mysql-community-common mysql-community-libs mysql-community-devel·



  1. 清理残留的数据目录
    rm -rf /var/lib/mysql rm -rf /etc/my.cnf
    需要注意的是,如果你里面有重要数据,请先备份 /var/lib/mysql,如果是新安装则直接删

  2. 检查是否卸载完成。检查 Yum 源(防止再次装错)'

  3. 检查 Yum 源(防止再次装错)' ,清理可能存在的旧 MySQL 源配置
    # 删除 /etc/yum.repos.d/ 目录下所有 mysql 开头的源配置文件
    rm -rf /etc/yum.repos.d/mysql-*.repo

# 清理 yum 缓存
yum clean all

  1. 重新安装合适版本包

2. 重安装

总结】

正确的"三部曲"逻辑

  1. 安装源(wget ... rpm): 作用:"买一张地图"。 结果:系统知道去哪里找 MySQL 了(但是默认路线是指向美国的)。
  2. 【可选】配置镜像(修改 repo 文件): 作用:"修改地图上的路线"。 结果:把指向美国的路线涂掉,改画一条指向阿里云/清华大学的近路。
  3. 安装软件(yum install mysql...): 作用:"出发去拉货"。 结果:顺着近路(镜像),飞快地把 MySQL 下载并安装好。

下载安装MySQL5...7

  1. 【可选】MySQL国外资源,一般国内下载的较慢,可选择配置镜像源。

    官方下载地址 https://dev.mysql.com/get/
    安装官方源,买地图

  2. 安装官方源!
    # 下载 5.7 版本的源配置(注意看链接里是 mysql57) 它本身并不是 MySQL 数据库软件,而是一个"配置向导包"。
    wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
    这个命令的核心作用:解决"找不到"的问题。。CentOS 7 的官方默认软件库(Repository)里,根本就没有 MySQL!

  3. 【可选】配置国内镜像源!
    sed -i 's/repo.mysql.com/mirrors.aliyun.com\/mysql/g' /etc/yum.repos.d/mysql-community.repo
    sed -i 's/http:/https:/g' /etc/yum.repos.d/mysql-community.repo

  4. 安装MySQL(拉货)

    开始真正下载并安装数据库软件。

    注意:加上 --nogpgcheck 是为了绕过 MySQL 近期 GPG 密钥过期导致的验证错误,能保证一次安装成功。

    ·yum install mysql-community-server --nogpgcheck -y·

再次看来,很有必要使用镜像

初次检查

rpm -qa | grep -i mysql

  1. 启动服务并设置开机自启(
    安装完只是把软件放进硬盘了,需要启动它才能用。
    systemctl start mysqld `` systemctl enable mysqld

【迷惑性】需要解决的中间性问题

Failed to get properties: Access denied
> Linux 的系统服务管理器(systemd)出了故障.

你的系统可能在刚才卸载/安装大量软件的过程中,某些核心库(如 dbus 或 systemd 库)更新了,导致当前的 systemctl 命令无法跟后台的系统守护进程"对话"。
使用reboot

  1. 检查MySQL状态

    执行 systemctl status mysqld应该能看到绿色的 active (running)

  2. 。获取初始密码并修改

  3. ·systemctl enable mysqld 的核心作用·
    systemctl enable mysqld 的核心作用设置开机自启。

  4. 找初始密码,并修改密码。
    MySQL 5.7 首次启动会生成随机密码,必须先找到它并修改才能正常使用。

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

  5. 修改密码、

  • ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
  • FLUSH PRIVILEGES;
  1. 对此,就基本完成了,

想要进一步使用MySQL

我们需要使用初始密码进入,并使用alert user 修改初始密码,才能进行下面的操作,
以及 我们在修改密码时,系统默认是需要我们设置强密码的,MySQL 为了安全,默认开启了密码复杂度检查组件(validate_password)。

  • Error 1820:系统强迫你必须先改密码,否则不让你执行其他命令。
  • Error 1819:你想改简单密码,但系统嫌密码太简单,不让你改。
问题一:如何绕过安全检查设置简单密码?
问题二:在使用 CREATE USER 之前,必须先使用 ALTER USER 修改 root localhost 的密码吗?

以上答案请看下一篇

link: mysql修改密码以及创建用户

相关推荐
川石课堂软件测试36 分钟前
性能测试|JMeter常用线程组设置策略
大数据·数据库·功能测试·测试工具·jmeter·mysql·单元测试
Database_Cool_1 小时前
企业级多模态分析计算引擎选型:阿里云 AnalyticDB MySQL 统一分析平台方案
数据库·mysql·阿里云
Database_Cool_1 小时前
AnalyticDB MySQL vs Apache Doris:企业级云数仓如何选型——全维度对比指南
数据库·数据仓库·mysql·阿里云
Flash.kkl2 小时前
C++基于websocketpp的多用户网页五子棋项目
开发语言·网络·数据库·c++·websocket·mysql
小此方3 小时前
Re:Mysql数据库基础篇(一):CentOS/Linux 环境下的完整安装/运行/登录Mysql流程与首次登录异常处理
linux·数据库·mysql
IT空门:门主3 小时前
MySQL MCP Server 从零安装到使用实战,AI 直接查询数据库
数据库·人工智能·mysql
Jul1en_4 小时前
【Redis】事务详解、WATCH 实现思想
java·spring boot·redis·mysql·java-ee
AI人工智能+电脑小能手4 小时前
【大白话说Java面试题 第94题】【Mysql篇】第24题:什么是单路排序?什么是双路排序??
java·开发语言·数据库·mysql·面试·排序算法
csdn_aspnet4 小时前
mysql 查询树形,id与pid关联
数据库·mysql·tree·树形
Database_Cool_4 小时前
用户行为分析需求,实时计算层应该怎么选型?阿里云 AnalyticDB MySQL 推荐方案
mysql·阿里云·云原生