添加初始化脚本 修复防火墙转发脚本的错误
This commit is contained in:
24
System-Init/mysql-salve-config.sh
Normal file
24
System-Init/mysql-salve-config.sh
Normal file
@@ -0,0 +1,24 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
#检查操作系统类型
|
||||
if grep -Ei "red hat|rocky|alma|centos" /etc/os-release > /dev/null 2>&1; then
|
||||
dnf -y install mysql8.4-server
|
||||
elif grep -Ei "debian|ubuntu" /etc/os-release > /dev/null 2>&1; then
|
||||
echo 非红帽系操作系统,脚本不支持当前操作系统
|
||||
exit 1
|
||||
fi
|
||||
#为防火墙放行3306端口
|
||||
firewall-cmd --add-port=3306/tcp --permanent
|
||||
firewall-cmd --reload
|
||||
|
||||
#交互式输入MySQL从库IP
|
||||
read -p "请输入MySQL从库IP: " slave_ip
|
||||
read -p "请输入MySQL从库SSH密码: " slave_password
|
||||
#生成密钥并配置从库SSH免密登录
|
||||
if [ ! -f ~/.ssh/id_rsa ]; then
|
||||
ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa
|
||||
fi
|
||||
sshpass -p "${slave_password}" ssh-copy-id -o StrictHostKeyChecking=no root@${slave_ip}
|
||||
|
||||
#通过交互式输入的IP和密码复制复制MySQL数据库证书到从库
|
||||
sshpass -p "${slave_password}" scp -o StrictHostKeyChecking=no /var/lib/mysql/*.pem root@${slave_ip}:/var/lib/mysql/
|
||||
@@ -13,9 +13,11 @@ if grep -Ei "red hat|rocky|alma|centos" /etc/os-release > /dev/null 2>&1; then
|
||||
sudo firewall-cmd --permanent --add-port=${port}/tcp
|
||||
sudo firewall-cmd --permanent --add-port=${port}/udp
|
||||
done
|
||||
|
||||
#启用Firewall NAT转发
|
||||
sudo firewall-cmd --permanent --add-masquerade --zone=public
|
||||
|
||||
#重启Firewall
|
||||
sudo firewall-cmd --reload
|
||||
|
||||
sudo firewall-cmd --list-ports
|
||||
|
||||
sudo dnf install -y wget curl tar
|
||||
|
||||
@@ -14,9 +14,10 @@ if grep -Ei "red hat|rocky|alma|centos" /etc/os-release > /dev/null 2>&1; then
|
||||
sudo firewall-cmd --permanent --add-port=${port}/tcp
|
||||
sudo firewall-cmd --permanent --add-port=${port}/udp
|
||||
done
|
||||
|
||||
#启用Firewall NAT转发
|
||||
sudo firewall-cmd --permanent --add-masquerade --zone=public
|
||||
#重启Firewall
|
||||
sudo firewall-cmd --reload
|
||||
|
||||
sudo firewall-cmd --list-ports
|
||||
|
||||
sudo dnf install -y wget curl tar
|
||||
|
||||
Reference in New Issue
Block a user