Shell案例之一键部署mysql

1.问题

我认为啊学习就是一个思考的过程,思考问题的一个流程应该是:提出问题,分析问题,解决问题

在shell里部署mysql服务时,我出现一些问题:

1.安装mysql-server时,没有密钥,安装失败

  2.怎么利用正则表达式去锁定临时密码

  3.进入mysql数据库后,怎么对密码进行修改

2.分析

1.可以在yum 安装 mysql-server服务时,添加 –nogpgcheck,实现不用密钥安装,或者去yum源配置文件中,将mysql源中gpgcheck=1改为gpgcheck=0。

2.临时密码会放在/var/log/mysql.log中,利用grep关键字搜索出具有temporary password所在行,再利用awk去锁定相应的字段

3.因为使用的是临时密码,无法实现一部分操作,比如:查询库,表等等操作都无法进行,我们必须对密码进行修改,才能实现对数据库的一些操作,进入MySQL对密码策略进行更改,再对进行修改密码。

3.流程图

4.代码实现

#!/bin/bashscript_start=`date +%s`#安装wget工具,为后续下载mysql源做准备install_wget (){yum install wgetstatus1=$?if [ $status1 = 0 ];thenecho "wget 安装成功"fi}#安装mysqlinstall_mysql (){# 把mysql源下载到本地wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm# 使用rpm安装yum install -y mysql-server --nogpgcheckstatus2=$?if [ $status2 = 0 ];thenecho "mysql服务安装成功"fi}#启动服务并设置开机自启start_server (){systemctl start mysqldsystemctl enable mysqld#安装net-tools,这个工具包含了查看端口的命令yum install -y net-toolsstatus3=$?if [ $status3 = 0 ];thennetstat -ntlp |grep "mysqld"echo "3306端口开启,mysql服务启动了"elseecho "未开启3306端口,mysql未启动"rpm -ivh mysql57-community-release-el7-11.noarch.rpm#因为本地环境安装了mysql源,所以使用yum安装mysql服务fi}#为MySQL设置密码set_mysql_password (){mysql -uroot -p123456 -e "exit"status4=$?if [ $status4 != 0 ];then#--connect-expired-password根据原意可知允许连接一个过期的密码,-e 后面一般跟SQL语句或者命令,相当于在外部使用命令对mysql进行操作temporary_password=$(grep "temporary password" /var/log/mysqld.log |awk '{print $NF}')mysql --connect-expired-password -uroot -p$temporary_password -e "set global validate_password_policy=LOW; set global validate_password_length=6; alter user 'root'@'localhost' IDENTIFIED BY '123456';exit"fi}install_wgetinstall_mysqlstart_server
set_mysql_passwordrm -rf mysql57-community-release-el7-11.noarch.*script_stop=`date +%s`run_time=$[$script_stop-$script_start]echo "脚本此次运行时长$run_time秒"

5.结果验证

输入密码为123456,能否登录mysql

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

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

相关文章

普通java web项目集成spring-session

之前的老项目,希望使用spring-session管理会话,存储到redis。 项目环境:eclipse、jdk8、jetty嵌入式启动、非spring项目。 实现思路: 1.添加相关依赖jar。 2.配置redis连接。 3.配置启动spring。 4.配置过滤器,拦…

L1练习-鸢尾花数据集处理(分类/聚类)

背景 前文(《AI 自学 Lesson1 - Sklearn(开源Python机器学习包)》)以鸢尾花数据集的处理为例,本文将完善其代码,在使用 sklearn 的部分工具包基础上,增加部分数据预处理、数据分析和数据可视化…

QUIC 协议的优势

QUIC 协议的优势包括: 快速建立连接:将传输层和加密层的握手合并,减少了连接建立的延迟。QUIC 建连时间大约为 0~1RTT,相比 HTTPS 的 3RTT 建连,具有极大的优势。客户端第一次建连的握手协商需 1RTT,而已建…

Linux 和Windows创建共享文件夹实现文件共享

直接开整 1.Windows下创建共享文件夹share右击-》属性—》共享-》选择所有人-》点击共享 2.共享创建完成后可以使他的共享网络地址或者Windows ip地址-推荐使用Windows ip地址有时候 不知道什么原因他Linux解析不了网络地址 共享网络地址 —共享文件夹share 右击-》属性—》共…

扫普通链接二维码打开小程序

1. 2.新增规则(注意下载文件到跟目录下,需要建个文件夹放下载的校验文件) 3.发布 ps:发布后,只能访问正式版本。体验版本如果加了 测试链接http://xxx/xsc/10 那么http://xxx/xsc/aa.....应该都能访问 例如aa101 aa…

CMOS晶体管的串联与并联

CMOS晶体管的串联与并联 前言 对于mos管的串联和并联,一直没有整明白,特别是设计到EDA软件中,关于MOS的M和F参数,就更困惑了,今天看了许多资料以及在EDA软件上验证了电路结构与版图的对应关系,总算有点收…

VScode中CMake无高亮(就是没有补全的提示)

在我学的过程中我发现我的CMake是这样的,如下图 但在教学视频里是这样的(如下图) 这非常的难受,所以疯狂的找,最后是CMake报错有 原因就是:本地没有配置环境变量,解决方法是下一个cmake然后直接…

STM32-CubeIDE用串口通讯

USART串口通讯 一、轮询模式 1.设置所接引脚为UART异步模式 选择完成CTRLS保存。 2.编写测试代码(自动发送hello world) 在mian函数里面编写代码 原函数 调用函数,需要数据类型一致,使用函数通过串口发送数组里面的数据 打开串…

延迟队列实现及其原理详解

1.绪论 本文主要讲解常见的几种延迟队列的实现方式,以及其原理。 2.延迟队列的使用场景 延迟队列主要用于解决每个被调度的任务开始执行的时间不一致的场景,主要包含如下场景: 1.比如订单超过15分钟后,关闭未关闭的订单。 2.比如用户可以…

基于springboot+微信小程序校园自助打印管理系统(打印1)

👉文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1、项目介绍 基于springboot微信小程序校园自助打印管理系统实现了管理员、店长和用户。管理员实现了用户管理、店长管理、打印店管理、打印服务管理、服务类型管理、预约打印管理和系统管理。店长实现…

vue3中报has no default export错误

原因 在同时使用Vetur和Volar插件的Vue2与Vue3项目中,遇到Module has no default export错误。通过在VSCode设置中将vetur.validation.script设为false,可以消除该报错,不影响实际运行。 解决办法 "vetur.validation.script": fa…

【Linux线程】Linux线程编程基础:概念、创建与管理

📝个人主页🌹:Eternity._ ⏩收录专栏⏪:Linux “ 登神长阶 ” 🌹🌹期待您的关注 🌹🌹 ❀Linux多线程 📒1. 线程概念📜2. 进程VS线程📚3. 线程控制…

算法魅力-双指针的实战

目录 1.双指针的介绍 1. 左右指针(对撞指针) 2. 快慢指针 2.题目练习讲解 2.1 移动零 算法思路 代码展示 画图效果效果 2.2 复写零 算法思路 代码展示 2.3 快乐数 算法思路 代码展示 2.4 盛最多水的容器 算法思路 代码展示 结束语 1.双指针的…

大模型带来新安全机遇

当前网络空间安全面临攻击隐蔽难发现、数据泄露风险高和违法信息审核难等挑战。大模型展现出强大的信息理解、知识抽取、意图和任务编排等能力,为网络空间安全瓶颈问题提供了新的解决思路和方法。与此同时,大模型发展也催生了恶意软件自动生成、深度伪造…

架构师之路-学渣到学霸历程-22

NFS文件共享服务器 今天开始了云计算-SRE架构师的第二个阶段, 第二阶段就是服务阶段了;第一个分享的就是NFS服务; 文件共享服务; 早上就了解一下NFS原理; 1、NFS文件共享服务器 NFS:就是network file sy…

【YOLO学习】YOLOv5详解

文章目录 1. 网络结构2. 结构整体描述2.1 输入端2.2 Backbone2.3 Neck2.4 Head 3. 模块细节3.1 Focus模块3.2 SPPF3.3 Bounding Box损失函数 4. 训练策略 1. 网络结构 1. 目标检测的模型框架大体都是以下图示这样的结构: 2. 关于 YOLOv5 的网络结构其实网上相关的讲…

数据结构 - 队列

队列也是一种操作受限的线性数据结构,与栈很相似。 01定义 栈的操作受限表现为只允许在队列的一端进行元素插入操作,在队列的另一端只允许删除操作。这一特性可以总结为先进先出(First In First Out,简称FIFO)。这意味…

R语言机器学习算法实战系列(八)逻辑回归算法 (logistic regression)

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍教程下载数据加载R包导入数据数据预处理数据描述数据切割构建模型预测测试数据评估模型模型准确性混淆矩阵模型评估指标ROC CurvePRC Curve特征的重要性保存模型总结系统信息介绍 …

MySQL数据库和表的基本操作

文章目录 一、数据库的基础知识 背景知识数据库的基本操作二、数据类型 字符串类型数值类型日期类型三、表的基本操作 创建表查看表结构查看所有表删除表 一、数据库的基础知识 背景知识 MySQL是一个客户端服务器结构的程序 主动发送数据的这一方,客户端(client…

“智改数转”转了什么?

万界星空科技专门针对数字化改造申报的MES系统具有显著的技术优势和实施效果,能够为制造型企业提供全方位、高效、可靠的数字化转型支持。项目合作可以私信或者百度上海万界星空科技官网。 “智改数转”是一个综合性的过程,涉及企业多个方面的转型和升…