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

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

常见问题

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

华为Pura70发布,供应链公司进入静默保密期

保密措施:与华为Pura70发布相关的供应链公司在产品发布前后处于静默保密期。这可能是由于华为对于手机供应链的一些信息处于保密状态,尤其是关于麒麟芯片的代工厂商等敏感信息。这种保密措施有助于保持产品的神秘感,调动用户的好奇心&#xf…

Linux中线程管理命令,查看ps和kill实操记录

Linux中线程管理命令,查看ps和kill实操记录 ps命令实例操作参考链接 写的目的是,笔者在服务器的使用中遇到了这个知识点,并且进行学习和使用,希望在这里记录和加深印象,方便以后回忆和其他读者的学习。 具体的情景是&a…

算法数据结构--单调栈

文章目录 介绍单调递增栈单调递减栈图示应用场景 步骤模板Deque用法例题[739. 每日温度](https://leetcode.cn/problems/daily-temperatures/)[496. 下一个更大元素 I](https://leetcode.cn/problems/next-greater-element-i/) 总结 介绍 单调栈是一种特殊的栈数据结构&#x…

快讯! MySQL 8.4.0 LTS 发布(MySQL 第一个长期支持版本)

MySQL 第一个长期支持版本 8.4.0 LTS 发布,社区版下载地址: https://dev.mysql.com/downloads/mysql/ 功能变更 添加或更改的功能 组复制:与组复制相关的两个服务器系统变量的默认值已更改: 系统变量的默认值为 group_replication…

TS学习-泛型基础

目录 1,介绍1,在函数中使用2,在类型别名,接口中使用3,在类中使用 2,泛型约束3,多泛型4,举例实现 Map 1,介绍 泛型相当于是一个类型变量,有时无法预先知道具体…

JavaWeb--1.Servlet

Servlet&#xff08;基础&#xff09; 1、配置依赖&#xff1a; ​ 在pom.xml文件中加入相关依赖 <dependencies><dependency><groupId>jakarta.servlet</groupId><artifactId>jakarta.servlet-api</artifactId><version>5.0.0&l…

数据结构--栈与队列【您的关注是我创作的动力!】

文章目录 栈什么是栈&#xff1f;栈的具体实现 队列什么是队列&#xff1f;队列的实现 栈 什么是栈&#xff1f; 栈也是顺序表的一种&#xff0c;栈的逻辑实现是先进后出&#xff08;后进先出&#xff09;就跟子弹夹一样。 具体逻辑就是它只允许在固定的一端进行数据的插入与…

eNSP-抓包解析HTTP、FTP、DNS协议

一、环境搭建 1.http服务器搭建 2.FTP服务器搭建 3.DNS服务器搭建 二、抓包 三、http协议 1.HTTP协议&#xff0c;建立在FTP协议之上 2.http请求 3.http响应 请求响应报文参考&#xff1a;https://it-chengzi.blog.csdn.net/article/details/113809803 4.浏览器开发者工具抓包…

C++ 函数 参数与返回值

#一 参数与返回值 回顾文件读数据功能 文件读数据 1函数参数传值调用过程 将函数调用语句中的实参的一份副本传给函数的型材。 简单的值的传递&#xff0c;实参的值没有发生变化。 2 函数参数传值调用过程 传地址调用 将变量的地址传递给函数的形参 形参和实参指向了同…

webpack与vite

webpack 使用步骤&#xff1a; 初始化项目 pnpm init -y安装依赖webpack、webpack-cli在项目中创建src目录&#xff0c;然后编写代码&#xff08;index.js&#xff09;执行pnpm weboack来对代码进行打包&#xff08;打包后观察dist文件夹&#xff09; 配置古文件&#xff08;w…

数智新重庆 | 推进信号升格 打造算力山城

2024年&#xff0c;是实现“十四五”规划目标任务的关键一年&#xff0c;高质量的5G网络、强大的AI能力作为新质生产力的重要组成部分&#xff0c;将有效赋能包括制造业在内的千行万业数字化化、智能化、绿色化转型升级&#xff0c;推动融合应用新业态、新模式蓬勃兴起&#xf…

字符函数与字符串函数(2)

遇见她如春水映莲花 字符函数与字符串函数&#xff08;2&#xff09; 前言一、strcatstrncat 二、strcmpstrncmp在这里插入图片描述 三、strstr四、strtok五、strerror总结 前言 根据上期字符函数与字符串函数我们可以了解到字符函数与个别字符串函数的用法&#xff0c; 那么接…

SQL注入less-1

一、启动SQL注入的靶场 1、启动phpstudy 注&#xff1a;phpstudy默认的php版本为7.x&#xff0c;想要成功的搭建靶场&#xff0c;需要把php版本改为5.x 2、输入127地址加文件名 进入此界面后点击setup就行 3、进入less-1的关卡 靶场搭建成功 二、查看less-1的代码 注&#…

什么?300TB SSD要来了?

SK海力士在韩国首尔的一场新闻发布会上宣布&#xff0c;其正在研发一款前所未有的300TB容量的固态硬盘&#xff08;SSD&#xff09;。这款硬盘的预告是该公司一系列旨在推动数据中心和设备端AI能力发展的产品与技术组合的一部分。SK海力士引用市场研究预测&#xff0c;全球在AI…

每日一题(力扣740):删除并获得点数--dp+思维

其实跟打家劫舍没啥区别 排序去重之后去考虑当前位置和前两个位置之间的关系即可&#xff0c;具体见代码&#xff1a; class Solution { public:int deleteAndEarn(vector<int>& nums) {int n nums.size();if (n 1) return nums[0];unordered_map<int, int>…

代码随想录算法训练营DAY51|C++动态规划Part12|1143.最长公共子序列、1035.不相交的线、53.最大子序列和

文章目录 1143.最长公共子序列思路CPP代码 1035.不相交的线53.最大子序列和思路CPP代码 1143.最长公共子序列 力扣题目链接 文章讲解&#xff1a;1143.最长公共子序列 视频讲解&#xff1a;动态规划子序列问题经典题目 | LeetCode&#xff1a;1143.最长公共子序列 本题其实就跟…

GPU虚拟化和算力隔离探讨

1. 术语介绍 术语 全称 说明 GPU Graphics Processing Unit 显卡 CUDA Compute Unified Device Architecture 英伟达2006年推出的计算API VT/VT-x/VT-d Intel Virtualization Technology -x表示x86 CPU&#xff0c;-d表示Device SVM AMD Secure Virtual Machine …

ASP.NET视频点播系统的设计与实现

摘 要 本文阐述了基于WEB的交互式视频点播系统的协议原理、软件结构和设计实现。本视频点播系统根据流媒体传输原理&#xff0c;在校园局域网的基础上模拟基于Web的视频点播系统&#xff0c;实现用户信息管理、视频文件的添加、删除、修改及在线播放和搜索功能。本系统是一个…

6.块元素和行内元素

块元素 无论内容多少&#xff0c;该元素独占一行(p、 h1-h6…) 例子如下图 行内元素 内容撑开宽度&#xff0c;左右都是行内元素的可以排在一排(a、 strong、 em …) 例子如下 感谢您的观看&#xff0c;能和您一起学习是我最大的荣幸&#xff01; 文章学习资料&#xff1a;…

【快速入门Linux】10_Linux命令—Vi编辑器

文章目录 一、vi 简介1.1 vi1.2 vim1.3查询软连接命令&#xff08;知道&#xff09; 二、打开和新建文件&#xff08;重点&#xff09;2.1 打开文件并且定位行2.2 异常处理 三、vi三种工作模式&#xff08;重点&#xff09;3.1 末行模式-命令 四、常用命令4.0 命令线路图4.1 移…