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

这篇具有很好参考价值的文章主要介绍了【Linux】Centos7 shell实现MySQL5.7 tar 一键安装。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【Linux】Centos7 shell实现MySQL5.7 tar 一键安装,Linux,MySQL安装,ssh 免密,自动化安装,MySQL

🦄 个人主页——🎐个人主页 🎐✨🍁

🪁🍁🪁🍁🪁🍁🪁🍁 感谢点赞和关注 ,每天进步一点点!加油!🪁🍁🪁🍁🪁🍁🪁🍁

目录

一、安装下载

二、执行安装


一、安装下载


【Linux】Centos7 shell实现MySQL5.7 tar 一键安装,Linux,MySQL安装,ssh 免密,自动化安装,MySQL

下载地址:

https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.44-el7-x86_64.tar.gz

脚本和tar包结构

【Linux】Centos7 shell实现MySQL5.7 tar 一键安装,Linux,MySQL安装,ssh 免密,自动化安装,MySQL

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
do
	rpm -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/mysql

mkdir -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/mysqld

mkdir /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<<EOF
  export 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 *******

执行完脚本 成功登录

【Linux】Centos7 shell实现MySQL5.7 tar 一键安装,Linux,MySQL安装,ssh 免密,自动化安装,MySQL

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
#done
 
expect -v
if [ `echo $?` -ne 0 ];then
	echo "安装expect命令"
	yum install -y expect
fi 
################################
#
################################
create_ssh_pub(){
	echo "生成本地ssh公钥"
	/usr/bin/expect << eof
	# 设置捕获字符串后,期待回复的超时时间
	set timeout 30
	 
	spawn 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 ];then
	create_ssh_pub
fi
 
#################################
# 定义复制ssh公钥方法
#################################
config_copy_ssh(){
	echo "复制公钥到对应的主机上"
	/usr/bin/expect << eof
	# 设置捕获字符串后,期待回复的超时时间
	set timeout 30
	 
	spawn 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[*]};do
	timeout 5 ssh root@${name} "echo ${name}: 'This is success!'"
	if [[ $? -ne 0 ]];then
		echo "复制文件到: ${name}"
		config_copy_ssh root ${name} > /dev/null
	fi
	
done

参考链接:ansible 实现自动化部署ambari(纯离线)_ansible ambari-CSDN博客 文章来源地址https://www.toymoban.com/news/detail-751441.html

到了这里,关于【Linux】Centos7 shell实现MySQL5.7 tar 一键安装的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • centos7下载mysql5.7,jdk1.8

    前言:最近公司服务器从阿里云换到腾讯云了(为了省钱啧啧),所以这个相关环境的配置工作,由我来负责了。 第一步: 第二步: 第三步: 进行到第三步后会出现一波报错: 解决办法:先输入一下命令后,再次输入第三步的命令 1.先获得初始密码: CentOS上的root默认密码

    2024年02月05日
    浏览(48)
  • Centos7 x86服务器一键部署ES集群/单机shell

            由于日常的实施工作中经常用到单机或者集群的es,每次都手动部署感觉很麻烦,于是抽空写了一个一键部署脚本,通过简单指定集群名称、节点ip、端口等几个配置参数后自动部署es单机或者集群数据库 该安装包实现利用给定参数安装单机版或者集群版es数据库,指

    2023年04月11日
    浏览(84)
  • 【MySQL入门指南】Centos7下MySQL5.7安装教程(全程图解)

     MySQL是一个可移植的数据库,几乎能在当前所有的操作系统上运行。本文重点讲解如何在Centos7上安装MySQL。在安装过程中,推荐始终以 root 用户的身份运行以减少操作的成本。  在你的Centos7系统中,可能已经预装有MySQL或者mariadb(MySQL的一个分支),并在后台以守护进程的

    2024年02月07日
    浏览(61)
  • 手把手教你在Centos7.6系统安装mysql5.7

    需要安装对应系统适配的mysql,避免出现问题 我的是CentOS Linux release 7.6.1810 (Core) ,所以安装centos7.6对应的mysql5.7 点击链接在官网中获取适用的mysql文件,这里我找到的是mysql57-community-release-el7.rpm,其中mysql57代表mysql5.7,el代表centos,7代表centos的版本(因为未发布el7.6,所以用

    2024年02月03日
    浏览(72)
  • Linux(Centos7)基本操作(1):文件压缩和解压(tar、zip)

    安装命令 yum install -y unzip zip 压缩文件: 基本格式: zip [参数] [压缩后的文件名] [打包的目录路径] 压缩文件:xxx是当前路径中需要压缩的文件夹: zip -r xxx.zip xxx/ ; 比如需要压缩文件夹 a 下所有的内容,就执行 zip -r a.zip a ; 如果是将其他目录下的文件压缩到当前路径,xxx前面

    2024年02月08日
    浏览(55)
  • 银河麒麟服务器、centos7服务器一键卸载mysql脚本

    【出现问题】如果出现脚本执行报错的问题,基本就是文件编码的问题。 【解决办法】我们需要在linux系统里新建一个sh文件,并将脚本内容复制进去,再去执行新建的脚本即可解决问题。   【金山文档】 mysql相关 https://kdocs.cn/l/clqdydAVNJfU

    2024年02月10日
    浏览(75)
  • Linux centOS yum install MySQL5.7

    下载并安装 MySQL YUM 仓库 这将为您的 CentOS 系统安装 MySQL YUM 仓库。 wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm 这个命令主要用于从 MySQL 的官方网站下载 MySQL YUM 仓库的 RPM 包。 在这个命令中: 1.wget 是一个自由的网络下载工具,常用于在终端环境中下载网络文件

    2024年02月07日
    浏览(52)
  • 【Linux】Centos7 的 Systemctl 与 创建系统服务 (shell脚本)

    systemctl 命令 systemctl 状态 systemctl 运行级别 自建服务 1、服务存放路径 2、编写一个系统服务 Unit: Service: 举例 :wq退出 syscmd.sh脚本内容 方式一: 命令: java -jar xxxx.jar 方式二: 命令:java -jar xxxx.jar 方式三: 命令:nohup java -jar xxxx.jar 方式四: 命令:nohup java -jar xxxx.jar /

    2024年02月14日
    浏览(52)
  • Linux(Centos7版本)安装docker 使用官方安装脚本,一键安装docker 发生报错解决方法

    Linux(Centos7版本)安装docker 使用官方安装脚本,一键安装docker 发生报错解决方法 使用官方安装脚本 也可以使用国内 daocloud 一键安装命令: 正在尝试其它镜像。 sh -c ‘yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo’ File “/usr/bin/yum-config-manager”, lin

    2024年02月01日
    浏览(61)
  • Centos7.9宝塔搭建Hexo博客,实现本地一键自动化部署到服务器

    有问题可以留言相互讨论 ,我的hexo博客地址,请勿频繁访问或者攻击,仅供学习和参考。 用于存放下载的git包 会显示一堆.o类型的文件,表示正在从源码编译。 未显示错误直接跳到“ 安装 ”步骤 如果出现错误collect2: error: ld returned 1 exit status. 原因是gcc版本较低所致,与所

    2024年02月06日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包