mysql使用shell脚本部署_shell脚本部署mysql主从
centos6兩臺
Master IP:192.168.88.152
Slave IP:192.168.88.153
以下都是在主機上操作
兩機配置免密登錄
ssh-keygen -t rsa
ssh-copy-id [email?protected]
編寫mysql_master腳本
vim mysql_mster.sh
#!/bin/bash
service iptables stop
setenforce 0
yum -y install mysql mysql-server? #安裝mysql服務 如果是centos7? 安裝命令 yum -y install mariadb mariadb-server
sed -ie ‘7a\server-id=1\nlog-bin=mysql-bin\nrelay-log\n‘ /etc/my.cnf? #修改中繼日志
service mysqld restart #重啟mysql服務
mysql -e "grant all on *.* to [email?protected]%‘ identified by ‘123‘;"? ?#用戶授權
mysql -e ‘flush privileges;‘? #刷新
mysql -e ‘show master status;‘ #查看二進制
編寫mysql_slave腳本
vim mysql_slave.sh#!/bin/bash
bin=`ssh [email?protected] "mysql -e ‘show master status;‘|grep mysql"`
file=`echo $bin|awk -F ‘ ‘ ‘{print $1}‘`
pos=`echo $bin|awk -F ‘ ‘ ‘{print $2}‘`
service iptables stop
setenforce0yum-y install mysql mysql-server
sed-ie ‘7a\server-id=2\nlog-bin=mysql-bin\nrelay-log\n‘ /etc/my.cnf
service mysqld start
mysql-e "change master to master_host=‘192.168.88.152‘,master_user=‘tom‘,master_password=‘123‘,master_log_file=‘$file‘,master_log_pos=$pos;"mysql-e ‘start slave‘
mysql-e ‘show slave status \G;‘
IO=`mysql -e "show slave status\G;" 2>/dev/null |grep Slave_IO_Running|awk -F ‘:‘ ‘{print $2}‘`
SQL=`mysql -e "show slave status\G;" 2>/dev/null |grep Slave_SQL_Running|awk -F ‘:‘ ‘{print $2}‘`
if [ $IO == "Yes" -a $SQL == "Yes" ]
then
echo "成功"
else
echo "失敗"
fi
將mysql_slave.sh復制到slave主機上
scp mysql_slave.sh 192.168.88.153:/root/
執行mysql_master.sh
sh mysql_master.sh
在master主機上遠程執行mysql_slave腳本
ssh [email?protected] "sh /root/mysql_slave.sh"
原文:https://www.cnblogs.com/tian01010/p/11971701.html
總結
以上是生活随笔為你收集整理的mysql使用shell脚本部署_shell脚本部署mysql主从的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: openwrt dhcp不分配_【装维技
- 下一篇: 用函数求10个数的平均值_Excel