使用shell脚本部署MySQL主从复制

MySQL 主从复制是指数据可以从一个MySQL数据库服务器主节点复制到一个或多个从节点。MySQL 默认采用异步复制方式,这样从节点不用一直访问主服务器来更新自己的数据,数据的更新可以在远程连接上进行,从节点可以复制主数据库中的所有数据库或者特定的数据库,或者特定的表。

centos6两台 Master IP:192.168.88.153 Slave IP:192.168.88.152 配置免密登录

ssh-keygen -t rsa
ssh-copy-id root@192.168.88.153

编写mysql_master脚本

#!/bin/bash
service iptables stop
setenforce 0
yum -y install mysql mysql-server
sed -ie '7a\server-id=1\nlog-bin=mysql-bin\nrelay-log=mysql-log\n' /etc/my.cnf
service mysqld restart
mysql -e " grant all on *.* to 'tom'@'%' identified by '123'; "
mysql -e " flush privileges; "
mysql -e " show master status; "

编写mysql_slave脚本

#!/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
setenforce 0
yum -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/

执行脚本

sh mysql_master.sh
ssh root@192.168.88.153 "sh /root/mysql_slave.sh"

网站标题:使用shell脚本部署MySQL主从复制
文章地址:http://www.shufengxianlan.com/qtweb/news14/350714.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联