部署脚本
- 需要在脚本同级目录下新建Database文件夹,并添加mysql_new_password.txt文件(内容为设置的数据库密码)
- 库放入Database文件夹下
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=`cat ./Database/mysql_new_password.txt`
mysql -uroot -p$obtain_passwd --connect-expired-password -e "ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '$new_passwd';"
mysql -uroot -p$new_passwd --connect-expired-password -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 -uroot -p$new_passwd --connect-expired-password -e "create database $db DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;"
mysql -uroot -p$new_passwd $db < ./Database/test.sql
}
ping -c3 www.baidu.com
if [ $? -eq 0 ]; then
echo"网络正常,开始安装"
InstallMysql
InstallIptables
Configure_mysql
else
echo "无法连接网络,请检查网络!"
exit 1
fi