shell一键部署mysql

0. 安装包下载(5.7.32)

链接: https://pan.baidu.com/s/17MEMnWlxt0OiwCkPNTWrJw  密码: ldge

1. 创建专门用以执行安装脚本的目录,并在此目录创建压缩文件所需要的目录

mkdir -p /opt/shell/files
cd /opt/shell
vi mysql_install.sh

2. 编辑shell脚本

#!/bin/bash
#离线安装mysql
#我们需要安装mysql的目录
ipath="/usr/local"
#获取当前脚本目录的路径 $0-shell本身的文件名
installpath=$(cd `dirname $0`; pwd)
echo ${installpath}
#提前在脚本目录创建files文件夹 上传安装包到该目录
filepath=${installpath}/files
j=`ps -el | grep mysqld`
#查看是否已经安装mysql
mysql=$(echo ${j} | grep "mysqld")
echo ${mysql}
if [[ "$mysql" != "" ]]
then
	echo "mysql was installed!"
else
	echo "mysql not installed!"
	echo "开始解压mysql安装包"
	tar -xzvf ${filepath}/mysql-*.tar.gz > /dev/null 2>&1
	echo "进入mysql安装目录 获取mysql版本"
	cd mysql* && mysqlname=`pwd | awk -F '/' '{print $NF}'`
	echo "mysql版本:${mysqlname}"
	echo "移动解压后的文件夹到指定安装目录${ipath}"
	mkdir -p ${ipath}/mysql/data
	mv ${installpath}/${mysqlname}/* ${ipath}/mysql
	rm -rf ${installpath}/${mysqlname}
	echo "mysql安装目录${ipath}/mysql"
	echo "添加用户组"
	groupadd mysql
	useradd -r -g mysql mysql
	echo "授权"
	chown -R mysql:mysql ${ipath}/mysql
	echo "初始化数据库"
	${ipath}/mysql/bin/mysqld --initialize-insecure --user=mysql  --basedir=${ipath}/mysql --datadir=${ipath}/mysql/data
    echo "将mysql加入到服务"
	cp ${ipath}/mysql/support-files/mysql.server /etc/init.d/mysql
	echo "设置开机启动"
	chkconfig mysql on
	echo "创建自己的默认的my.cnf"
	rm -rf /etc/my.cnf
	touch /etc/my.cnf
	echo "[client]" >> /etc/my.cnf
	echo "user=root" >> /etc/my.cnf
	echo "password=" >> /etc/my.cnf
	echo "port = 3306" >> /etc/my.cnf
	echo "socket = /tmp/mysql.sock" >> /etc/my.cnf
	echo "[mysqld]" >> /etc/my.cnf
	echo "init-connect='SET NAMES utf8'" >> /etc/my.cnf
	echo "basedir=/usr/local/mysql" >> /etc/my.cnf
	echo "datadir=/usr/local/mysql/data" >> /etc/my.cnf
	echo "socket=/tmp/mysql.sock" >> /etc/my.cnf
	echo "max_connections=50" >> /etc/my.cnf
	echo "character-set-server=utf8" >> /etc/my.cnf
	echo "default-storage-engine=INNODB" >> /etc/my.cnf
	echo "启动mysql"
	service mysql start
	echo "设置mysql命令到全局 软连接"
	ln -s  ${ipath}/mysql/bin/mysql  /usr/bin
	mysql -uroot mysql -e "update user set authentication_string=password('123456') where user='root'"
	mysql -uroot mysql -e "update user set host='%' where user = 'root'"
	mysql -uroot mysql -e "flush privileges"
fi


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值