:部署单台MySQL数据库服务

#!/bin/bash
#AUTHOR:QI
#DATE:2019-6-3
#EMAIL:zhqlwl0121@163.com
#DESCRIBE:部署单台MySQL数据库服务
#################################################################################################################
cecho()
{
echo -e "\033[$1m$2\033[0m"
}
#################################################################################################################
yum_sh()
{
 y=`yum repolist | awk '/repolist/{print $2}' | sed 's/,//'`
[ $y -eq 0 ] && echo"没有YUM源" && exit
cecho 32 "共有$y个YUM包"
}
##################################################################################################################
sys_sh()
{
systemctl restart mysqld
systemctl enable mysqld
}
##################################################################################################################
start_sh()
{
systemctl restart mysqld
}
##################################################################################################################
stop_sh()
{
systemctl stop mysqld
}
##################################################################################################################
#mysql数据库设置新密码
pass()
{
mysql -e "show databases;"
mysql -e "select user,host,authentication_string from mysql.user;"
read -p "请输入您要修改的密码:" pass
mysql -e "update mysql.user set authentication_string=password($pass) where user='root' and host='localhost'" 
[ $? -ne 0 ] && cecho 31 "修改密码失败" && exit
mysql -e "flush privileges"
[ $? -ne 0 ] && cecho  31 "刷新权限失败" && exit
sed -i '5s/^/#/' /etc/my.cnf
sed -i '4a validate_password_length=6' /etc/my.cnf
sed -i '4a validate_password_policy=0' /etc/my.cnf
systemctl restart mysqld
read -p "请输入您要修改的新密码:" newpass
yum -y install expect
expect <<EOF
spawn mysqladmin  -hlocalhost -uroot  -p  password "$newpass"
expect "password:"  { send "$pass\r" }
expect "#"  { send "\r" }

EOF
if [ $? -ne 0 ];then
 cecho 31 "密码修改失败" && exit
else
 cecho 32 "密码修改成功"
fi
read -p "请输入您要创建的库名:" c
mysql -uroot -p$newpass -e "create database $c"
[ $? -ne 0 ] && cecho 31 "创建db2库失败" && exit
mysql -uroot -p$newpass -e "show databases"
}
##################################################################################################################

mysql_sh()
{
yum_sh
cd /root/soft/mysql/
tar -xf mysql-5.7.17.tar && cecho 35 "开始解包....."
cecho 32 "正在YUM装包...."
yum -y install mysql-community-*.rpm > /dev/null
sys_sh
if [ $? -eq 0 ];then
 cecho 32 "mysql服务已安装完毕"
sleep 2
else
 cecho 31 "mysql服务安装失败" && exit
fi
ss -nutlp | grep 3306
stop_sh
sed -i '4a skip_grant_tables' /etc/my.cnf   #配置文件中指定免密登录
start_sh
[ $? -ne 0 ] && cecho 31 "免密码服务启动失败" && exit
pass
cecho 32 "mysql服务部署完成"
}
mysql_sh


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值