【Linux】Centos7 shell实现MySQL5.7 tar 一键安装

🦄 个人主页——🎐个人主页 🎐✨🍁
🪁🍁🪁🍁🪁🍁🪁🍁 感谢点赞和关注 ,每天进步一点点!加油!🪁🍁🪁🍁🪁🍁🪁🍁
目录
一、安装下载
二、执行安装
一、安装下载

下载地址:
https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.44-el7-x86_64.tar.gz
脚本和tar包结构

my.cnf 配置文件
[root@windp-aio opt]# cat config/my.cnf
[mysql]
socket=/var/lib/mysql/mysql.sock
# set mysql client default chararter
default-character-set=utf8[mysqld]
socket=/var/lib/mysql/mysql.sock
# set mysql server port
port = 3306
# set mysql install base dir
basedir=/usr/local/mysql
# set the data store dir
datadir=/usr/local/mysql/data
# set the number of allow max connnection
max_connections=200
# set server charactre default encoding
character-set-server=utf8
# the storage engine
default-storage-engine=INNODB
lower_case_table_names=1
max_allowed_packet=16M
explicit_defaults_for_timestamp=true
[mysql.server]
user=mysql
basedir=/usr/local/mysql
二、执行安装
install_mysql.sh 安装脚本
#! /bin/bash
#
# Author: kangll
# CreateTime: 2023-11-10
# Desc: install mysql5.7.44
#
echo "******** INSTALL MYSQL *********"BASEDIR=$(cd "$(dirname "$0")"; pwd)# 卸载原有的mariadb
OLD_MYSQL=`rpm -qa|grep mariadb`
profile=/etc/profile
for mariadb in $OLD_MYSQL
dorpm -e --nodeps $mariadb
done# 删除原有的my.cnf
rm -rf /etc/my.cnf#添加用户组 用户
groupadd mysql
useradd -g mysql mysql#解压mysql包并修改名称
tar -zxvf $BASEDIR/mysql-5.7.44-el7-x86_64.tar.gz -C /usr/local
mv /usr/local/mysql-5.7.44-el7-x86_64 /usr/local/mysql#更改所属的组和用户
chown -R mysql /usr/local/mysql
chgrp -R mysql /usr/local/mysqlmkdir -p /usr/local/mysql/data
mkdir -p /usr/local/mysql/log
chown -R mysql:mysql /usr/local/mysql/data#粘贴配置文件my.cnf 内容见八 中的 my.cnf
cp $BASEDIR/config/my.cnf /usr/local/mysql/# 安装mysql
/usr/local/mysql/bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/# 设置文件及目录权限:
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chown 777 /usr/local/mysql/my.cnf
chmod +x /etc/init.d/mysqldmkdir /var/lib/mysql
chmod 777 /var/lib/mysql# 启动mysql
/etc/init.d/mysqld start# 设置开机启动
chkconfig --level 35 mysqld on
chmod +x /etc/rc.d/init.d/mysqld
chkconfig --add mysqld# 修改环境变量
ln -s /usr/local/mysql/bin/mysql /usr/bin
ln -s /var/lib/mysql/mysql.sock /tmp/
cat > /etc/profile.d/mysql.sh<<EOFexport PATH=$PATH:/usr/local/mysql/bin
EOF
mysqlPw=`sed -n 2p /root/.mysql_secret`
mysqlPwTMP=`sed -n 2p /root/.mysql_secret`1
mysqlNewPw=Winner001
hostname=`"hostname"`
#ssh $hostname "source /etc/profile;java -version"
ssh $hostname "source /etc/profile;mysqladmin -h127.0.0.1 -uroot -p'$mysqlPw' password '$mysqlPwTMP';mysqladmin -h127.0.0.1 -uroot -p'$mysqlPwTMP' password '$mysqlNewPw';exit"echo "******** MYSQL installation completed *******
执行完脚本 成功登录

ssh 操作需要免密 附上 本机免密脚本 ssh_keygen.sh
#! /bin/bash
#
#Author: kangll
#CreateTime: 2023-11-10
#Desc: 本机免密
#
set -x
# get ip
ip=$(ip addr show | grep -E 'inet [0-9]' | awk '{print $2}' | awk -F '/' '{print $1}' | sed -n '$p')
ssh_hosts=${ip}
ssh_networkname=(windp-aio)
ssh_passwd=winner@001# 定义修改/etc/hosts文件的方法
#echo "开始修改地址映射"#for ((i=0;i<${#ssh_hosts[*]};i++));do
# sed -i '/^'"${ssh_hosts[$i]}"'/d' /etc/hosts
# echo "尝试连接: ${ssh_networkname[$i]}"
# timeout 5 ssh root@${ssh_networkname[$i]} "echo ${ssh_networkname[$i]}: 'This is success!'"
# if [[ $? -ne 0 ]];then
# echo "添加地址映射:${ssh_hosts[$i]} ${ssh_networkname[$i]}"
# echo "${ssh_hosts[$i]} ${ssh_networkname[$i]}" >> /etc/hosts
# fi
#doneexpect -v
if [ `echo $?` -ne 0 ];thenecho "安装expect命令"yum install -y expect
fi
################################
#
################################
create_ssh_pub(){echo "生成本地ssh公钥"/usr/bin/expect << eof# 设置捕获字符串后,期待回复的超时时间set timeout 30spawn ssh-keygen -t rsa -b 1024## 开始进连续捕获expect {".ssh/id_rsa)" { send "\n"; exp_continue }"Overwrite (y/n)?" { send "y\n"; exp_continue }"no passphrase):" { send "\n"; exp_continue }"passphrase again:" { send "\n"; exp_continue }}
eof
}
if [ ! -f /root/.ssh/id_rsa.pub ];thencreate_ssh_pub
fi#################################
# 定义复制ssh公钥方法
#################################
config_copy_ssh(){echo "复制公钥到对应的主机上"/usr/bin/expect << eof# 设置捕获字符串后,期待回复的超时时间set timeout 30spawn ssh-copy-id -i /root/.ssh/id_rsa.pub $1@$2## 开始进连续捕获expect {"connecting (yes/no)?" { send "yes\n"; exp_continue }"s password:" { send "${ssh_passwd}\n"; exp_continue }}
eof
}
for name in ${ssh_networkname[*]};dotimeout 5 ssh root@${name} "echo ${name}: 'This is success!'"if [[ $? -ne 0 ]];thenecho "复制文件到: ${name}"config_copy_ssh root ${name} > /dev/nullfidone
参考链接:ansible 实现自动化部署ambari(纯离线)_ansible ambari-CSDN博客
相关文章:
【Linux】Centos7 shell实现MySQL5.7 tar 一键安装
🦄 个人主页——🎐个人主页 🎐✨🍁 🪁🍁🪁🍁🪁🍁🪁🍁 感谢点赞和关注 ,每天进步一点点!加油!&…...
一步一步详细介绍如何使用 OpenCV 制作低成本立体相机
在这篇文章中,我们将学习如何创建定制的低成本立体相机(使用一对网络摄像头)并使用 OpenCV 捕获 3D 视频。我们提供 Python 和 C++ 代码。文末并附完整的免费代码下载链接 我们都喜欢观看上面所示的 3D 电影和视频。您需要如图 1 所示的红青色 3D 眼镜才能体验 3D 效果。它是…...
Zookeeper篇---第四篇
系列文章目录 文章目录 系列文章目录一、ZooKeeper 集群中个服务器之间是怎样通信的?二、ZooKeeper 分布式锁怎么实现的?三、了解Zookeeper的系统架构吗?一、ZooKeeper 集群中个服务器之间是怎样通信的? Leader 服务器会和每一个 Follower/Observer 服务器都建立 TCP 连接…...
Seata之TCC模式解读
目录 基本介绍 起源 概述 案例流程分析 TCC注意事项 空回滚 幂等 悬挂 具体使用 LocalTCC TwoPhaseBusinessAction 小结 基本介绍 起源 关于TCC的概念,最早是由Pat Helland于2007年发表的一篇名为《Life beyond Distributed Transactions:an Apost…...
算法--数据结构
这里写目录标题 本节内容链表与邻接表链表主要思想链表操作初始化在head结点后面插入普通插入删除操作 例子 双链表(双向循环链表)主要思想操作初始化双向插入删除第k个点 邻接表主要思想 栈和队列栈主要思想主要操作 队列主要思想操作 单调栈与单调队列…...
关系型数据库Redis安装与写入数据
文章目录 安装和初步选择数据库创建键值对数据类型 安装和初步 安装 Redis是开源的跨平台非关系型数据库,特点是占用资源低、查询速度快。 首先,在Github上下载最新发布的Redis-xxxx.zip压缩文件,下载之后解压,并将解压后的路径…...
《红蓝攻防对抗实战》十二.内网穿透之利用ICMP协议进行隧道穿透
内网穿透之利用ICMP协议进行隧道穿透 一.前言二.前文推荐三.利用ICMP协议进行隧道穿透1.ICMPsh获取反弹shell2.PingTunnel 搭建隧道 四.本篇总结 一.前言 本文介绍了利用ICMP协议进行隧道穿透的方法。ICMP协议不需要开放端口,可以将TCP/UDP数据封装到ICMP的Ping数据…...
【海德教育】国家开放大学和函授区别有:学校不同、入学门槛不同、学习方式不同、招生对象不同、学习年限不同,具体如下:
一、学校不同。 国家开放大学的招收学校是中央电大和各省市、自治州、市辖区及单设的国家开放大学。函授是成人高考学习方式,成考是普通高等院校举行的、单设的成人高等学校。 二、入学门槛不同。 国家开放大学对入学者的年龄、职业、地区和学习资历等方面都没有太多…...
单片机启动流程
存储器 一个单片机中存在rom和ram,Soc也有rom和ram(ddrx),部分Soc还包含MMU(Memory Manage Unit 内存管理单元)— (用于系统内存管理,比如说虚拟内存空间,内存区间的…...
Linux学习教程(第二章 Linux系统安装)2
第二章 Linux系统安装 四、使用U盘安装Linux系统 前面章节介绍了如何通过虚拟机 VMware 安装 Linux 系统,而实际开发中,我们更多的是要将 Linux 系统直接安装到电脑上。 直接在电脑上安装 Linux 系统的常用方法有 2 种,分别是用光盘安装和用…...
操作系统 | proc文件系统
🌈个人主页:Sarapines Programmer🔥 系列专栏:《操作系统实验室》🔖少年有梦不应止于心动,更要付诸行动。 目录结构 1. 操作系统实验之proc文件系统 1.1 实验目的 1.2 实验内容 1.3 实验步骤 1.4 实验…...
刷题笔记(第五天)
1. 给定一个罗马数字,将其转换成整数。 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 …...
【OpenHarmony内核】Harmony内核互斥性信号量
文章目录 前言一、互斥性信号量是什么?二、互斥性信号量2.1 osSemaphoreNew函数创建并初始化一个信号量对象2.2 osSemaphoreGetName获取信号量对象的名称2.3 osSemaphoreAcquire获取一个信号量令牌2.4 osSemaphoreRelease2.5 osSemaphoreGetCount获取当前信号量令牌的数量2.6 …...
给OFFICE增加一个功能搜索
OFFICE功能几乎是无限的。不论你怎么熟悉,总有出乎意料的功能。前几天我使用EXCEL时,发现一个功能改名了。于是我就想,OFFICE应该增加一个功能搜索: 提供一个搜索输入栏。这个已经有了。输入搜索字串弹出一个面板,附带…...
53基于matlab的Tamura纹理特征提取
基于matlab的Tamura纹理特征提取,包括粗糙度、对比度、方向度、线性度、规则度、粗糙度六种,可替换自己的数据进行特征提取。程序已调通,可直接运行。 53 方向度、线性度、规则度 (xiaohongshu.com)...
C++初阶--类与对象(3)(图解)
文章目录 再谈构造函数初始化列表隐式类型转换explicit关键字 static成员友元类内部类匿名对象拷贝函数时的一些优化 再谈构造函数 在我们之前的构造函数中,编译器会通过构造函数,对对象中各个成员给出一个适合的初始值,但这并不能称之为初始…...
考研分享第1期 | 末9生物跨专业考研北京大学电子信息404分经验分享
全文概览 一、个人信息 二、关于考研的经验分享 三、最后的小Tips 一、个人信息 姓名:Jackson 本科院校:某末流985生物专业 报考院校:北京大学电子信息专业 择校意向:北航计算机、人大高瓴、复旦软院、清华大学深研院、北…...
openGauss学习笔记-120 openGauss 数据库管理-设置密态等值查询-概述及使用gsql操作密态数据库
文章目录 openGauss学习笔记-120 openGauss 数据库管理-设置密态等值查询-概述及使用gsql操作密态数据库120.1 密态等值查询概述120.2 使用gsql操作密态数据库 openGauss学习笔记-120 openGauss 数据库管理-设置密态等值查询-概述及使用gsql操作密态数据库 120.1 密态等值查询…...
软件自动化测试平台
软件测试分类黑盒、白盒、功能、API、接口、压力测试和性能测试, 自动化测试平台是一种用于自动化执行软件测试过程的工具。 一、自动化测试平台-功能性 1. 接口自动化:对接软件的接口进行测试,验证接口的功能和性能。 2. Web 自动化&…...
springMVC 导出Excel ,并提供下载(处理日期格式问题)
目录 1、POI的三个依赖 2、控制层代码 3、业务层代码 4、参考文献: 1、POI的三个依赖 <!-- POI的三个依赖 --><dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.1.2</vers…...
零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?
一、核心优势:专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发,是一款收费低廉但功能全面的Windows NAS工具,主打“无学习成本部署” 。与其他NAS软件相比,其优势在于: 无需硬件改造:将任意W…...
Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级
在互联网的快速发展中,高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司,近期做出了一个重大技术决策:弃用长期使用的 Nginx,转而采用其内部开发…...
GC1808高性能24位立体声音频ADC芯片解析
1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率,…...
以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...
CSS设置元素的宽度根据其内容自动调整
width: fit-content 是 CSS 中的一个属性值,用于设置元素的宽度根据其内容自动调整,确保宽度刚好容纳内容而不会超出。 效果对比 默认情况(width: auto): 块级元素(如 <div>)会占满父容器…...
Docker 本地安装 mysql 数据库
Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker ;并安装。 基础操作不再赘述。 打开 macOS 终端,开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...
算法:模拟
1.替换所有的问号 1576. 替换所有的问号 - 力扣(LeetCode) 遍历字符串:通过外层循环逐一检查每个字符。遇到 ? 时处理: 内层循环遍历小写字母(a 到 z)。对每个字母检查是否满足: 与…...
Qemu arm操作系统开发环境
使用qemu虚拟arm硬件比较合适。 步骤如下: 安装qemu apt install qemu-system安装aarch64-none-elf-gcc 需要手动下载,下载地址:https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x…...
Proxmox Mail Gateway安装指南:从零开始配置高效邮件过滤系统
💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「storms…...
c# 局部函数 定义、功能与示例
C# 局部函数:定义、功能与示例 1. 定义与功能 局部函数(Local Function)是嵌套在另一个方法内部的私有方法,仅在包含它的方法内可见。 • 作用:封装仅用于当前方法的逻辑,避免污染类作用域,提升…...
