良许Linux教程网 干货合集 使用shell脚本部署MySQL 主从复制

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

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

使用shell脚本部署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"

以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !

img
本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部