# !/bin/bash
version=`uname -r | awk -F '.' '{ print $(NF-1) }'`
killJava() {
pid=$(ps -ef | grep java | grep -v grep | awk '{print $2}')
if [ -n "$pid" ]; then
kill -9 "$pid"
fi
}
installMysql() {
echo "正在检测是否有mysql..."$'\n'
isMysql=$(ls /usr/bin | grep mysql)
if [ -z "$isMysql" ]; then
echo "可以安装"$'\n'
wget -i -c http://dev.mysql.com/get/mysql57-community-release-$version-10.noarch.rpm || (
echo "下载失败"
exit
) && yum -y install mysql57-community-release-$version-10.noarch.rpm || (
echo "安装源失败"
exit
) && yum -y install mysql-community-server
else
echo "查询到mysql存在,退出安装程序"
exit 1
fi
}
updateMysqlConfig() {
echo "正在检测配置文件是否存在。。。。"
isHaveConf=$(cat /etc/my.cnf)
if [ -z "$isHaveConf" ]; then
echo "配置文件不存在,正在创建。。。"
fi
echo "是否需要设置大小写忽略,1为是,0为否"
read lower
if [ $lower = 1 ]; then
if [ -z $(sed -n '/lower*/p' /etc/my.cnf) ]; then
sed -i '/\[mysqld\]/a lower_case_table_names=1' /etc/my.cnf
echo "添加成功"
else
if [ $(sed -n '/lower*/p' /etc/my.cnf | awk '{print substr($0,length($0))}') = 1 ]; then
echo "无需更新"
else
sed -i 's/lower_case_table_names=0/lower_case_table_names=1/g' /etc/my.cnf
echo "修改成功"
fi
fi
service mysqld restart >/dev/null 2>&1 || (echo "配置文件有问题,重启失败")
elif [ $lower = 0 ]; then
if [ -z $(sed -n '/lower*/p' /etc/my.cnf) ]; then
sed -i '/\[mysqld\]/a lower_case_table_names=0' /etc/my.cnf
echo "添加成功"
else
if [ $(sed -n '/lower*/p' /etc/my.cnf | awk '{print substr($0,length($0))}') = 0 ]; then
echo "无需更新"
else
sed -i 's/lower_case_table_names=1/lower_case_table_names=0/g' /etc/my.cnf
echo "修改成功"
fi
fi
service mysqld restart >/dev/null 2>&1 || (echo "配置文件有问题,重启失败")
else
echo "输入有误"
exit 1
fi
}
initMysql() {
echo "正在启动mysql..."
Reason=$(service mysqld start 2>&1)
if [ -z "$Reason" ]; then
echo "启动成功"
grep "A temporary password is generated for root@localhost*" /var/log/mysqld.log | awk '{print $11}' >Password.txt
export MYSQL_PWD=$(cat Password.txt)
echo "初始密码为"$(cat Password.txt)
echo "初始密码信息保存在"$(pwd)/Password.txt
echo "是否进行密码修改?1为是"
read optionNum
case $optionNum in
1)
echo "输入新密码:(密码需要高强度)"
read passwd
mysql -uroot -N --connect-expired-password <<EOF
ALTER USER 'root'@'localhost' IDENTIFIED BY '$passwd';
exit
EOF
echo "修改成功"
;;
*)
echo "输入错误"
;;
esac
else
echo "启动失败"$'\n'$Reason
fi
}
testMysql(){
read yourpwd
export MYSQL_PWD=$yourpwd
mysql -uroot -N <<EOF
show databases;
exit
EOF
}
installRedis(){
echo "正在检测是否有redis..."$'\n'
isRedis=`whereis redis-cli`
if [ -z "$isRedis" ];then
echo "可以安装"$'\n'
yum -y install epel-release redis || (
echo "下载失败"
exit
) && service redis start || (
echo "启动失败"
exit
)
else
echo "已经安装,目录为"$isRedis
exit 1
fi
}
startZentao(){
zbox/zbox -mp 3307 -ap 8080
zbox/zbox start
}
echo "1:停止程序,2:yum安装mysql,3:mysql初始化。4:mysql配置文件修改,5:安装Redis,6:启动zentao"
read num
case $num in
1)
killJava
echo "成功"
;;
2)
installMysql
;;
3)
initMysql
;;
4)
updateMysqlConfig
;;
5)
installRedis
;;
6)
startZentao
;;
7)
testMysql
;;
*)
echo "输入错误"
;;
esac