#!/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
:部署单台MySQL数据库服务
最新推荐文章于 2023-07-10 22:10:00 发布