温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

shell之路--mysql主从自动部署

发布时间:2020-08-05 17:51:44 来源:网络 阅读:650 作者:Max_zhao 栏目:MySQL数据库

#!/bin/bash

#auto make install Mysql AB Relication

#by author max

#date 2017-05-04

MYSQL_SOFT="mysql mysql-server mysql-devel php-mysql"

NUM=`rpm -qa |grep -i mysql |wc -l`

CODE=$?


#Mysql To Install 2017

if [ $NUM -ne 0 ];then

echo -e "\033[32mThis server mysql already install.\033[0m"

read -p "Please ensure yum remove mysql server , Yes or No[y/n]": INPUT

if [ $INPUT == "y" ];then

yum remove $MYSQL_SOFT -y

rm -rf /var/lib/mysql /etc/my.cnf

yum -y install $MYSQL_SOFT

else

exit 0

fi

else

rm -rf /var/lib/mysql

yum -y install $MYSQL_SOFT

if [ $CODE -eq 0 ];then

echo -e "\033[32mThe mysql install successfully.\033[0m"

exit 1

fi

fi


#mysql to start and config

cat >/etc/my.cnf<<EOF

[mysqld]

datadir=/car/lib/mysql

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

user=mysql

symbpolic-links=0

log-bin=mysql-bin

server-id=1

auto_increment_offset=1

auto_increment_increment=2

[mysql_safe]

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

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

replicate-do-db=all

EOF

/etc/init.d/mysqld restart

ps -ef |grep mysql


function MYSQL_CONFIG(){


#master config mysql 

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

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='max',master_password='zhaomiao',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 ? yes or no[y/n]": INPUT

if [ $INPUT == "y" ];then

MYSQL_CONFIG

else

exit 0

fi


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI