mysql主从配置脚本

#!/bin/bash

#auto make install mysql and configure master and slave

#by csy 2015-11-17

 

#Define variables++++++++++++++

MYL_PACKAGE="mysql mysql-server mysql-devel php-mysql mysql-libs"

JUDEG=`cat /etc/passwd |grep mysql |wc -l`

MYS_DIR=/var/lib/mysql

MYS_CFG=/etc/my.cnf

 

echo -e "\033[43mTip: execute the script will delete database of original data, please backup data first then execute the script!\033[0m"

 

#Mysql TO install..............

if [ $JUDEG -eq 0 ];then

echo -e "\033[35mThe Mysql database is not installed, please install...\033[0m"

yum -y install $MYL_PACKAGE

if [ $? -eq 0 ];then

echo "Mysql database install success,please configure..."

else

echo "Mysql database install error...pleace check!!!"

fi

else

read -p "You have installed mysql before, please uninstall, and reinstall the installation!Please enter yes or YES": INPUT

if [ $INPUT == "yes" -o $INPUT == "YES" ];then

yum -y remove $MYL_PACKAGE ; rm -rf $MYS_DIR $MYS_CFG

if [ $? -eq 0 ];then

echo "Mysql database uninstall complete...."

        else

                   echo "Mysql database uninstall error...pleace check!!!"

exit 0

fi

yum -y install $MYL_PACKAGE

if [ $? -eq 0 ];then

echo "Mysql database install complete...."

        else

                   echo "Mysql database install error...pleace check!!!"

exit 0

fi

else

exit 0

fi

fi

 

#Mysql The configuration and start the database service

#Mysql master server configuration====================

cat >/etc/my.cnf<<EOF

[mysqld]

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

user=mysql

symbolic-links=0

log-bin=mysql-bin

server-id = 1

auto_increment_offset=1

auto_increment_increment=2

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

replicate-do-db =all

EOF

/etc/init.d/mysqld restart

ps -ef |grep mysql

 

function sLAVE_CONFIG(){

#Mysql slave server configuration====================

cat >/etc/my.cnf<<EOF

[mysqld]

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

user=mysql

symbolic-links=0

log-bin=mysql-bin

server-id = 2

auto_increment_offset=2

auto_increment_increment=2

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

replicate-do-db =all

EOF

/etc/init.d/mysqld restart

ps -ef |grep mysql

}

read -p "Please ensure your Server is slave?yes or no": INPUT

if [ $INPUT == "yes" -o $INPUT == "YES" ];then

SLAVE_CONFIG

else

echo "Configuration is complete, please continue..."

fi

 

function MYSQL_CONFIG(){

#Master Config Mysql

mysql -e "grant  replication  slave  on *.* to  'csy'@'%'  identified by  '123456';"

MASTER_FILE=`mysql -e "show master status;"|tail -1|awk '{print $1}'`

MASTER_POS=`mysql -e "show master status;"|tail -1|awk '{print $2}'`

MASTER_IPADDR=`ifconfig eth0|grep "Bcast"|awk '{print $2}'|cut -d: -f2`

read -p "Please Enter INput Slave IP Address": SLAVE_IPADDR

 

#Slave Config Mysql

#ssh -l root $SLAVE_IPADDR "sed -i 's#server-id = 1#server-id = 2#g' /etc/my.cnf" 

#ssh -l root $SLAVE_IPADDR "/etc/init.d/mysqld restart" 

ssh -l root $SLAVE_IPADDR "mysql -e \"change master to master_host='$MASTER_IPADDR',master_user='csy',master_password='123456',master_log_file='$MASTER_FILE',master_log_pos=$MASTER_POS;\""

ssh -l root $SLAVE_IPADDR "mysql -e \"slave start;\"" 

ssh -l root $SLAVE_IPADDR "mysql -e \"show slave status\G;\"" 

}

 

read -p "Please ensure your Server is Master?master or MASTER": INPUT

if [ $INPUT == "master" -o $INPUT == "MASTER" ];then

MYSQL_CONFIG

else

exit 0

fi

转载于:https://www.cnblogs.com/csylinux/p/4977119.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值