mysql 安装卸载自动化脚本
时间:2021-07-01 10:21:17
帮助过:5人阅读
#mkdir /root/
mysql
#tar -xvf mysql-
5.7.
25-
1.el7.x86_64.rpm-bundle.
tar -C /root/
mysql
#cd /root/
mysql
#yum -y
install perl-Data-Dumper
perl-JSON
perl-Time-
HiRes
#rpm -Uvh mysql-community-*
.rpm
#systemctl start mysqld
language(){
echo $LANG |
grep -
q zh
if [ $? -eq
0 ];
then
return 0
else
return 1
fi
}
menu(){
clear
language
if [ $? -eq
0 ];
then
echo " ##############----Menu----##############"
echo "# 1. 安装mysql"
echo "# 2. 修改数据库的初始密码"
echo "# 3. 配置数据库"
echo "# 4. 卸载数据库"
echo "# 5. 退出"
echo " ########################################"
else
echo " ##############----Menu----##############"
echo "# 1. Install mysql"
echo "# 2. change mysql first password"
echo "# 3. configure mysql"
echo "# 4. remove MySQL"
echo "# 5. exit"
echo " ########################################"
fi
}
choice(){
language
if [ $? -eq
0 ];
then
read -p
"请选择一个菜单[1-5]:" select
else
read -p
"Please choice a menu[1-5]:" select
fi
}
install_mysql(){
language
echo "请上传数据库安装包"
rz -
E
mkdir /root/
mysql
tar -xvf mysql-
5.7.
25-
1.el7.x86_64.rpm-bundle.
tar -C /root/
mysql
cd /root/
mysql
rm -rf mysql-community-devel-
5.7.
25-
1.el7.x86_64.rpm mysql-community-embedded-*.rpm mysql-community-libs-compat-
5.7.
25-
1.el7.x86_64.rpm mysql-community-test-
5.7.
25-
1.el7.x86_64.rpm
yum -y
install perl-Data-Dumper
perl-JSON
perl-Time-HiRes net-
tools
rpm -Uvh mysql-community-*
.rpm
systemctl start mysqld
if [ $? -eq
0 ]
then
echo "安装成功"
else
echo $?
exit
fi
}
change_password(){
language
PORT=
"3306"
USERNAME=
"root"
PASSWORD=$(
cat /var/log/mysqld.log |
grep ‘temporary password‘ |
awk -F:
‘{print $4}‘ |
sed s/[[:space:]]
//g)
echo $PASSWORD
mysql_conn=
"mysql -P${PORT} -u${USERNAME} --connect-expired-password --password=${PASSWORD}"
echo $mysql_conn
NEWPASS=
"1234"
# sql=
"alter mysql.user ‘root‘@‘localhost‘ identified by \"${NEWPASS}\";flush privileges;"
# echo $sql
$mysql_conn -e
"set global validate_password_policy=0;"
$mysql_conn -e
"set global validate_password_length=4;"
$mysql_conn -e
"set password for ‘root‘@‘localhost‘=password(‘1234‘);flush privileges;"
if [ $? -eq
0 ]
then
echo "修改密码成功"
else
echo $?
exit
fi
}
configure_mysql(){
cp /etc/my.cnf /etc/
my.cnf.default
sed -i
‘3a\[client]\t\ndefault-character-set=utf8 ‘ /etc/
my.cnf
sed -i
‘/\[mysqld\]/a\character-set-server=utf8\nvalidate_password_length=4\nvalidate_password_policy=0 ‘ /etc/
my.cnf
systemctl restart mysqld
if [ $? -eq
0 ]
then
echo "修改默认编码为utf8成功"
sleep 3
else
echo $?
exit
fi
user=
"root"
passwd=
"1234"
sql=
"show variables like %char%;"
a=mysql -u$user -p$password -e
"$sql"
echo $a
}
remove_mysql(){
language
systemctl stop mysqld
mysql_pack=$(rpm -qa|
grep mysql)
for i
in $mysql_pack
do
rpm -e ${i} --
nodeps
done
rm -rf /var/lib/
mysql
rm -rf /usr/bin/
mysql
rm -rf /usr/lib64/
mysql
rm -rf /usr/share/
mysql
rm -rf /usr/include/
mysql
rm -rf /var/log/
mysqld.log
if [ $? -eq
0 ]
then
echo "卸载成功"
else
echo $?
exit
fi
}
while true
do
menu
choice
case $
select in
1)
install_mysql
;;
2)
change_password
;;
3)
configure_mysql
;;
4)
remove_mysql
;;
5)
quit;break
;;
esac
done
mysql 安装卸载自动化脚本
标签:flush -- stop connect ace col local use nbsp