部署脚本
InstallMysql()
{
mariadb=`rpm -qa | grep mariadb`
if [ $mariadb ]; then
rpm -e $mariadb --nodeps
fi
yum -y install wget
yum -y install libaio
mkdir -p ./mysql
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.17-1.el7.x86_64.rpm-bundle.tar -O ./mysql/mysql.tar
cd mysql
tar -xvf mysql.tar
common=`find . -name "mysql-community-common*"`
libs=`find . -name "mysql-community-libs-8*"`
client=`find . -name "mysql-community-client*"`
server=`find . -name "mysql-community-server*"`
rpm -ivh $common
rpm -ivh $libs
rpm -ivh $client
rpm -ivh $server --force --nodeps
mysqld --initialize
chown mysql:mysql /var/lib/mysql -R
systemctl start mysqld.service
systemctl enable mysqld
cd ../
}
InstallIptables()
{
systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl mask firewalld.service
yum -y install iptables-services
systemctl enable iptables
systemctl start iptables
iptables="/etc/sysconfig/iptables"
sed -i '/COMMIT/d' "$iptables"
sed -i '/--dport 80 -j/d' "$iptables"
sed -i '/--dport 3306/d' "$iptables"
sed -i '/--dport 443/d' "$iptables"
sed -i '/INPUT -j REJECT/d' "$iptables"
sed -i '/FORWARD -j REJECT/d' "$iptables"
echo "-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT">>$iptables
echo "-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT">>$iptables
echo "-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT">>$iptables
echo "-A INPUT -j REJECT --reject-with icmp-host-prohibited">>$iptables
echo "-A FORWARD -j REJECT --reject-with icmp-host-prohibited">>$iptables
echo "COMMIT">>$iptables
systemctl restart iptables.service
systemctl enable iptables.service
}
Configure_mysql()
{
db="test_1"
initial_passwd=`cat /var/log/mysqld.log | grep password`
obtain_passwd=${initial_passwd
new_passwd="123456"
export MYSQL_PWD=$new_passwd
mysql -uroot -p$obtain_passwd --connect-expired-password -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '$new_passwd';"
mysql -u root -e "create user 'root'@'%' identified with mysql_native_password by '$new_passwd';grant all privileges on *.* to 'root'@'%' with grant option;ALTER USER 'root'@'localhost' IDENTIFIED BY '$new_passwd' PASSWORD EXPIRE NEVER;flush privileges;"
mysql -u root -e "create database $db DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;"
mysql -u root $db < $db_file_path
}
if ! ping -c3 www.baidu.com &>/dev/null; then
echo "无法连接互联网,请检查网络!"
exit 1
fi
db_file_path="./test.sql"
if [ -e "$db_file_path" ]
then
echo "数据库文件存在,开始安装..."
InstallMysql
InstallIptables
Configure_mysql
else
echo "数据库文件不存在"
exit 1
fi