#!/bin/bash ############################################################ # $Name: auto_rep_sql.sh # $Version: v1.0 # $Functions: USGE: auto_rep_sql.sh 'master_sql_file' 'local_mysql_data_path' \ # 'local_root_DBPassword' 'master_host' \ # 'master_port' 'master_rep_user' 'master_rep_password' # $Author: Jeson Li # $organization: www.lzbbg.cn # $Create Date: 2017-03-10 # $Mail: libobin@tom.com # $Description: Use Linux local mysql slaves Automatically create Multi slave and synchronize master ############################################################ Tik="\e[5m";Red="\e[31m";Grn="\e[32m";Ylw="\e[33m";Blu="\e[34m";Pup="\e[35m";Rst="\e[0m" #source /etc/profile master_sql_file="${1:-/tmp/master.sql}" local_mysql_data_path="${2:-/mysql_data}" local_root_DBPassword="${3:-jeson123456}" master_host="${4:-dbmaster_vip.lzbbg.cn}" master_port="${5:-3301}" master_rep_user="${6:-rep}" master_rep_password="${7:-123456}" tmp_path="$(dirname ${master_sql_file})/" if [[ -e ${master_sql_file} && ! -e ${tmp_path}slave-seq.log ]];then touch ${tmp_path}slave-seq.log for slave_dir_name in $(ls -d ${local_mysql_data_path}/slave*/) do mysql -uroot -p${local_root_DBPassword} -S ${slave_dir_name}mysql.sock -e "stop slave;" mysql -uroot -p${local_root_DBPassword} -S ${slave_dir_name}mysql.sock -e " change master to master_host='${master_host}', master_port=${master_port}, master_user='${master_rep_user}', master_password='${master_rep_password}'\G" mysql -uroot -p${local_root_DBPassword} -S ${slave_dir_name}mysql.sock <${master_sql_file} mysql -uroot -p${local_root_DBPassword} -S ${slave_dir_name}mysql.sock -e "start slave;" sleep 6 mysql -uroot -p${local_root_DBPassword} -S ${slave_dir_name}mysql.sock -e "show slave status\G">>${slave_dir_name}rep_status.log done else echo -e "${Ylw}USGE: $0 { 'master_sql_file' 'local_mysql_data_path' 'local_root_DBPassword' 'master_host' 'master_port' 'master_rep_user' 'master_rep_password'}${Rst}" exit 3 fi
浙公网安备 33010602011771号