mysql使用shell脚本部署_shell脚本部署mysql主从 | 《Linux就该这么学》

导读

MySQL的主从复制可以实现将数据从一台数据库服务器(master)复制到一台或多台数据库服务器(slave)上,进而可以保证数据有多份冗余。今天我们来详细说下,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\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=1\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/

执行脚本

sh mysql_master.sh

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

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值