【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修改密码以及创建用户

相关推荐
Cx330❀3 小时前
【MySQL基础】一文吃透“表的约束”:从 Null/Default 到主外键的终极安全法则
linux·服务器·数据库·c++·mysql·安全
大阳光男孩3 小时前
Spring Boot 整合 Debezium 实现 MySQL 增量数据监听(嵌入式版)
spring boot·后端·mysql
我科绝伦(Huanhuan Zhou)3 小时前
MySQL极端场景数据丢失防护:从Crash-Safe到异地备份
数据库·mysql
笨蛋不要掉眼泪4 小时前
MySQL架构揭秘:MVCC解决读一致性问题
数据库·mysql·架构
隔壁阿布都8 小时前
MySQL 间隙锁死锁问题处理
数据库·mysql
ywl47081208711 小时前
mysql 锁定读和非锁定读
数据库·mysql
流浪00111 小时前
MySQL数据库基础篇(三):MySQL 数据库库级操作全解:创建、字符集、管理与备份恢复实战
数据库·mysql
钝挫力PROGRAMER12 小时前
MySQL 数据截断错误 #22001:原因分析与解决方案
数据库·mysql
万亿少女的梦16813 小时前
基于Spring Boot与MySQL的乡镇群众服务系统设计与实现
java·spring boot·mysql·权限管理·前后端分离
茶栀(*´I`*)13 小时前
Android 测试入门指南:ADB 基础配置与常用设备管理命令解析
android·adb