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

相关推荐
05大叔2 小时前
mysql 触发器,锁
数据库·mysql·oracle
MoSTChillax2 小时前
新手 3 个文件跑通前端 + Flask + MySQL(最小可行 CRUD)
数据库·python·mysql·flask
shyの同学2 小时前
SQL 谓词下推带来的潜在问题
数据库·sql·mysql
xiaoliuliu123452 小时前
CentOS 7 使用 apache-tomcat-7.0.27.tar.gz 详细步骤(解压、配置、启动、测试)
centos·tomcat·apache
IT枫斗者2 小时前
CentOS 7 一键部署 K8s 1.23 + Rancher 2.7 完整指南
java·linux·spring boot·后端·kubernetes·centos·rancher
jioulongzi2 小时前
mybatis映射mysql_json字段, 自定义typehandler返回null
mysql·json·mybatis
_OP_CHEN2 小时前
【MySQL数据库基础】(三)MySQL 库的核心操作全解析:创建、修改、备份一条龙搞定
linux·数据库·sql·mysql·c/c++·mysql操作·企业级组件
赵渝强老师13 小时前
【赵渝强老师】使用TiSpark在Spark中访问TiDB
数据库·mysql·tidb·国产数据库
用户8307196840822 天前
Java 告别繁琐数据统计代码!MySQL 8 窗口函数真香
java·sql·mysql