mysql主从脚本_shell脚本部署mysql主从
centos6兩臺
Master IP:192.168.88.152
Slave IP:192.168.88.153
以下都是在主機上操作
兩機配置免密登錄
ssh-keygen -t rsa
ssh-copy-id root@192.168.88.153
編寫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=mysql-log\n' /etc/my.cnf? #修改中繼日志
service mysqld restart #重啟mysql服務
mysql -e "grant all on *.* to 'tom'@'%' identified by '123';"? ?#用戶授權
mysql -e 'flush privileges;'? #刷新
mysql -e 'show master status;' #查看二進制
編寫mysql_slave腳本
vim mysql_slave.sh#!/bin/bash
bin=`ssh root@192.168.88.152 "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=mysql-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 root@192.168.88.153 "sh /root/mysql_slave.sh"
總結
以上是生活随笔為你收集整理的mysql主从脚本_shell脚本部署mysql主从的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: r语言多重共线性_R语言与计量经济学(二
- 下一篇: access mysql 同步_使ACC