25 lines
947 B
Bash
25 lines
947 B
Bash
#!/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/
|