You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
2.1 KiB
55 lines
2.1 KiB
#!/bin/bash
|
|
# by newrain
|
|
# time 2019-11-28
|
|
# lv 2.0
|
|
|
|
password="QianFeng@123"
|
|
remote_user="remote"
|
|
remote_passwd="QianFeng@123"
|
|
unset c
|
|
color(){
|
|
declare -A c=([Error]=31 [Success]=32 [Warning]=33 [Info]=34)
|
|
#echo -e "\033[${c[$1]}m[`date +%T`]($1) $2\033[0m"
|
|
printf "\033[${c[$1]}m%-10s%-10s %-30s\033[0m\n" "[`date +%T`]" "($1)" "$2"
|
|
sleep 0.5
|
|
}
|
|
|
|
color Info "此脚本用于yum 安装mysql"
|
|
color Warning "此脚本将删除所有mysql数据,如需备份请ctrl+c终止脚本,程序将在3秒后执行"
|
|
sleep 3
|
|
if [[ $UID -ne 0 ]];then
|
|
color Warning "使用root 执行此脚本"
|
|
exit 1
|
|
fi
|
|
|
|
color Warning "清理环境"
|
|
systemctl stop mysqld mariadb &>/dev/null
|
|
yum erase -y `rpm -qa |grep mariadb` 2>/dev/null
|
|
yum erase -y `rpm -qa |grep mysql` 2>/dev/null
|
|
rm -rvf /etc/my.cnf /var/lib/mysql /var/log/mysql*
|
|
userdel -rf mysql &>/dev/null
|
|
ping -c1 -w1 www.baidu.com &>/dev/null
|
|
if [[ $? -eq 0 ]];then
|
|
if [ ! -f /tmp/.init ];then
|
|
yum install -y https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
|
|
fi
|
|
else
|
|
color Error "网络错误"
|
|
exit 22
|
|
fi
|
|
if [ -z "$level" ];then
|
|
echo -e "使用此脚本:curl https://gitea.beyourself.org.cn/newrain001/shell-project/raw/branch/master/os/get-mysql.sh | level=5.7 sh\n版本号可选 5.6 5.7 8.0"
|
|
exit
|
|
elif [ "$level" == "5.7" ];then
|
|
yum -y install mysql-community-server mysql-community-devel --disablerepo mysql80-community --enablerepo mysql57-community --nogpgcheck
|
|
elif [ "$level" == "8.0" ];then
|
|
yum install -y mysql-community-server --nogpgcheck
|
|
elif [ "$level" == "5.6" ];then
|
|
yum -y install mysql-community-server mysql-community-devel --disablerepo mysql80-community --enablerepo mysql56-community --nogpgcheck
|
|
fi
|
|
systemctl start mysqld
|
|
color Warning "启动成功,初始密码如下(mysql5.7前版本没有初始密码)"
|
|
passwd=$(grep -o 'root@localhost.*' /var/log/mysqld.log | awk 'END{print $NF}')
|
|
mysqladmin -uroot -p$passwd password $password && \
|
|
mysql -uroot -p$password -e "grant all on *.* to \"$remote_user\"@'%' identified by \"$remote_passwd\"; flush privileges;"
|
|
color Success "安装完成 初始密码为$password"
|
|
|