MySQL常见问题解决和自动化安装脚本

news2024/12/26 10:51:16

在这里插入图片描述
在这里插入图片描述

常见问题

MySQL密码正确但无法登录的情况

这种情况一般都是因为缓存,使用mysql -u root -p123456直到成功登陆为止,并且进入之后重新修改密码,多次重复修改密码的命令并且再一次清除缓存后退出。

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
flush privileges;

MySQL安装的GPG密钥问题

前言

在MySQL安装的过程中,我们出现了不能通过YUM安装的MySQL的问题,YUM工具警告说安装包的GPG密钥无效或未安装,这意味着不能验证该包的真实性和完整性。系统尝试从指定的本地路径检索密钥,但没有找到有效的密钥与包匹配。

具体错误
Downloading packages:
warning: /var/cache/yum/x86_64/7/mysql80-community/packages/mysql-community-client-8.0.36-1.el7.x86_64.rpm: Header V4 RSA/SHA256 Signature, key ID a8d3785c: NOKEY
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql


The GPG keys listed for the "MySQL 8.0 Community Server" repository are already installed but they are not correct for this package.
Check that the correct key URLs are configured for this repository.


 Failing package is: mysql-community-client-8.0.36-1.el7.x86_64
 GPG Keys are configured as: file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
解决方式
yum install net-tools -y # 检查和安装网络工具包
yum list installed | grep mysql # 检查已安装的MySQL安装包
rpm -e --nodeps mysql80-community-release-el7-8.noarch # 强制删除指定的MySQL仓库包,不检查依赖。
rm -rf /etc/my.cnf # 删除MySQL的主配置文件。
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 # 导入MySQL的GPG公钥,用于验证软件包。
rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm# 安装新的MySQL仓库配置包。
yum -y install mysql-community-server# 安装MySQL服务器及其依赖。

此处出现了GPG的错误,我们需要通过绕过GPG的检查来实现安装

yum -y install mysql-community-server  --nogpgcheck # 忽略GPG密钥检查,重新安装
systemctl start mysqld && systemctl enable mysqld # 启动MySQL服务并设置为开机启动。
systemctl status mysqld # 检查MySQL服务状态,确认服务已经运行
grep 'temporary password' /var/log/mysqld.log # 获取随机密码并登录
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
set global validate_password.policy=0;
ALTER USER USER() IDENTIFIED BY 'wingkin45@A.';
set global validate_password.policy=0;
set global validate_password.length=4;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
flush privileges;

MySQL自动化安装脚本

echo "INFO : BEGIN INSTALLING MYSQL8 ..."
#检查mysql服务版本,若存在Mysql8,直接退出
me=`ps -ef|grep mysqld|wc -l`
if [ $me -eq 2 ];then
        me=`systemctl status mysqld|grep Docs|awk -F: '{print $NF}'`
        if [ $? -eq 0 -a "$me" == "mysql(8)" ];then
                echo "INFO : MYSQL8 FOUND "
                exit 0
        fi

        #若存在旧版本的mysql,且服务处于启动状态
        systemctl status mysqld|grep "active (running)"
        if [ $? -eq 0 ];then
                systemctl stop mysqld
                echo "INFO : OLD MYSQL SERVICE FOUND BUT STOPPED"
        fi
fi
#若存在旧版本的残留,则直接卸载
names=`rpm -qa|grep mysql`
for name in $names;do
        yum -y remove $name 1>/dev/null 2>&1
        echo "INFO : OLD MYSQL RESOURCE [ $name ] FOUND AND REMOVED"
done

#rpm 安装mysql8
src=$1
if [[ ! -e $src || ! -f $src ]];then
        echo "ERROR : PLEASE PROVIDE MYSQL8 RPM FILE "
        exit 1
fi
if [[ ! "$src" =~ mysql8.*\.rpm$ ]];then
        echo "ERROR : RPM PACKAGE OR NOT MYSQL8"
        exit 1
fi

rpm -ivh $src 1>/dev/null 2>&1
if [ $? -eq 0 ];then
        echo "INFO : SUCCESS TO RPM INSTALL MYSQL8"
else
        echo "ERROR : FAIL TO RPM INSTALL MYSQL8"
        exit 2
fi

# yum 安装mysql8服务
yum -y install mysql-community-server --nogpgcheck 1>/dev/null 2>&1
if [ $? -eq 0 ];then
        echo "INFO : SUCCESS TO YUM MYSQL8 SERVICE"
else
        echo "ERROR : FAIL TO YUM MYSQL8 SERVICE"
        exit 3
fi

#检查服务是否已启动,若未启动则启动
me=`systemctl status mysqld|grep "active (running)"`
if [ $? -ne 0 ];then
        systemctl start mysqld
fi
echo "INFO : MYSQL8 SERVICE STARTED"

echo "INFO : FINISH INSTALL MYSQL8"

unset me
unset names
unset src

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1634216.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Microsoft Threat Modeling Tool 使用(二)

主界面 翻译 详细描述 选择了 “SDL TM Knowledge Base (Core)” 模板并打开了一个新的威胁模型。这个界面主要用于绘制数据流图(Data Flow Diagram, DFD),它帮助您可视化系统的组成部分和它们之间的交互。以下是界面中各个部分的功能介绍&a…

CogAgent:开创性的VLM在GUI理解和自动化任务中的突破

尽管LLMs如ChatGPT在撰写电子邮件等任务上能够提供帮助,它们在理解和与GUIs交互方面存在挑战,这限制了它们在提高自动化水平方面的潜力。数字世界中的自主代理是许多现代人梦寐以求的理想助手。这些代理能够根据用户输入的任务描述自动完成如在线预订票务…

Bert基础(二十)--Bert实战:机器阅读理解任务

一、机器阅读理解任务 1.1 概念理解 机器阅读理解(Machine Reading Comprehension, MRC)就是给定一篇文章,以及基于文章的一个问题,让机器在阅读文章后对问题进行作答。 在机器阅读理解领域,模型的核心能力体现在对…

STM32使用PWM驱动直流电机

系列文章目录 STM32单片机系列专栏 C语言术语和结构总结专栏 文章目录 1. 直流电机和驱动简介 2. 驱动电路原理 3. 代码实现 3.1 PWM.c 3.2 PWM.h 3.3 MOTOR.c 3.4 MOTOR.h 3.5 main.c 3.6 完整工程文件 PWM和OC输出比较详解: STM32定时器的OC比较和PW…

LT6911GX HDMI2.1 至四端口 MIPI/LVDS,带音频 龙迅方案

1. 描述LT6911GX 是一款面向 VR / 显示应用的高性能 HDMI2.1 至 MIPI 或 LVDS 芯片。HDCP RX作为HDCP中继器的上游,可以与其他芯片的HDCP TX配合使用,实现中继器功能。对于 HDMI2.1 输入,LT6911GX 可配置为 3/4 通道。自适应均衡功能使其适合…

使用Github+Picgo+npm实现免费图床

本文参考自 Akilar,原文地址:https://akilar.top/posts/3e956346/ Picgo的配置 Github图床仓库内容不能超过1GB,因为Github原则上是反对仓库图床化的,超过1GB之后会由人工审核仓库内容,如果仓库被发现用来做图床&…

简要说说软分叉和硬分叉。

前言 一、软分叉 二、硬分叉 三、用途 总结 前言 软分叉和硬分叉是区块链技术中的两个重要概念,它们通常与加密货币的网络升级有关。下面我将分别解释这两个概念,并提供一些例子来帮助理解。下面是方便理解软分叉和硬分叉的图 一、软分叉 软分叉是一…

docker学习笔记4:CentOS7安装docker

文章目录 一、安装docker二、配置阿里云加速三、测试镜像安装本篇博客介绍如何在centos7里安装docker,关于CentOS7的安装可以查看本专栏的这篇博客: VmWare CentOS7安装与静态ip配置 centos7里安装docker步骤如下: 一、安装docker 先在终端输入su进入root用户,输入如下命…

Outlook大附件插件 有效解决附件大小限制问题

很多企业都是使用Outlook来进行邮件的收发,可是由于附件大小有限,导致很多大文件发不出去,就会产生Outlook大附件插件这种业务需求。 邮件系统在发送大文件时面临的限制问题主要如下: 1、附件大小限制:大多数邮件服务…

操作系统课程设计-人机交互的模拟操作系统

(一)课设板块 模块划分: (1)、进程管理模块 (2)、内存管理模块 (3)、文件管理模块 (4)、设备管理模块 (5)、界面管理模块…

Elasticsearch中【文档查询】DSL语句以及对应的Java实现

目录 全文检索查询 精准查询 布尔查询 排序、分页查询 高亮 地理查询 复合查询 Elasticsearch提供了基于JSON的DSL(Domain Specific Language)来定义查询。常见的查询类型包括: 查询所有:查询出所有数据,一般测…

C语言:项目实践(贪吃蛇)

前言: 相信大家都玩过贪吃蛇这款游戏吧,贪吃蛇是久负盛名的游戏,它也和俄罗斯方块,扫雷等游戏位列经典游戏的行列,那贪吃蛇到底是怎么实现的呢? 今天,我就用C语言带着大家一起来实现一下这款游戏…

Springboot+Vue项目-基于Java+MySQL的校园疫情防控系统(附源码+演示视频+LW)

大家好!我是程序猿老A,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:Java毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计 &…

达梦(DM) SQL聚集函数及日期运算操作

达梦DM SQL聚集函数及日期运算操作 聚集函数MAX、MIN、SUM、AVG、COUNT使用分析函数 sum (…) over (order by…) 可以生成累计和更改累计和的值计算出现次数最多的值 日期运算加减日、月、年加减时、分、秒日期间隔之时、分、秒日期间隔之日、月、年求两个日期间的工作天数确定…

《C语言深度解剖》(10):数组指针、指针数组和数组指针数组

🤡博客主页:醉竺 🥰本文专栏:《C语言深度解剖》《精通C指针》 😻欢迎关注:感谢大家的点赞评论关注,祝您学有所成! ✨✨💜💛想要学习更多C语言深度解剖点击专栏…

抄表自动化的实现与优势

1.界定与简述 抄表自动化是一种当代关键技术,致力于取代传统的手动式抄表方法,通过远程数据数据采集解决,完成电力工程、水、气等公用事业电力仪表的全自动载入。这一系统利用先进的感应器、物联网技术(IoT)设备及数据数据分析工具&#xff…

2024年第十五届蓝桥杯江苏省赛回顾

呜呜呜~~~ 我在考完了后感觉自己直接炸了:好多学到的算法都没有用上,几乎所有的题目都是暴力的。。。 最后十几分钟对于一道dp算法终于有思路了,但是。。匆匆忙忙之间就是没有调试出来。(还是交了一道暴力[旋风狗头]直接哭死~~&…

【七十三】【算法分析与设计】516. 最长回文子序列,二叉树,329. 矩阵中的最长递增路径,记忆化递归填表

516. 最长回文子序列 给你一个字符串 s ,找出其中最长的回文子序列,并返回该序列的长度。 子序列定义为:不改变剩余字符顺序的情况下,删除某些字符或者不删除任何字符形成的一个序列。 示例 1: 输入:s &qu…

JAVA系列 小白入门参考资料 类和对象(3)

温馨提示: 此篇文章需要前两篇文章作为基础。 JAVA系列 小白入门参考资料 类和对象(1)​​​​​​​ JAVA系列 小白入门参考资料 类和对象(2) 目录 1. 封装 引入封装 访问修饰符 封装的具体实现 get方法和…

55.基于SpringBoot + Vue实现的前后端分离-旅游管理系统(项目 + 论文)

项目介绍 本站是一个B/S模式系统,采用SpringBoot Vue框架,MYSQL数据库设计开发,充分保证系统的稳定性。系统具有界面清晰、操作简单,功能齐全的特点,使得基于SpringBoot Vue技术的旅游管理系统设计与实现管理工作系统…