Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- DB_APPROXIMATE_SIZE="270g"
- RDS="shopyminddata.crckgfvxxdav.eu-west-1.rds.amazonaws.com"
- PORT="3306"
- DB="shopyminddata"
- USER="spm_data"
- PASSWORD="***********************"
- DUMP_OPT="--no-create-info --compact --flush-logs --hex-blob --master-data=2 --skip-lock-tables --single-transaction --quick"
- BD_MASTER_OUTPUT=$(mysql --host=$RDS -u $USER -p$PASSWORD -e 'show master status\G')
- BD_MASTER_FILE=$(echo $MASTER_OUTPUT | perl -ne 'print $1 if $_=~ /File: ([\w\.-]+)/' )
- BD_MASTER_POSITION=$(echo $MASTER_OUTPUT | perl -ne 'print $1 if $_ =~ /Position: (\d+)/' )
- echo "*********************************************"
- echo "* BEFORE DUMP *"
- echo "*********************************************"
- echo "* $BD_MASTER_FILE | $BD_MASTER_POSITION"
- echo "*********************************************"
- function restore() {
- RDS=$1
- USER=$2
- PASSWORD=$3
- DUMP_OPT=$4
- DB=$4
- DB_APPROXIMATE_SIZE=$5
- (
- echo "SET AUTOCOMMIT=0;"
- echo "SET UNIQUE_CHECKS=0;"
- echo "SET FOREIGN_KEY_CHECKS=0;"
- mysqldump --host=$RDS -u $USER -p$PASSWORD $DUMP_OPT $DB
- echo "SET FOREIGN_KEY_CHECKS=1;"
- echo "SET UNIQUE_CHECKS=1;"
- echo "SET AUTOCOMMIT=1;"
- echo "COMMIT;"
- ) | pv -prate -s $DB_APPROXIMATE_SIZE | mysql $DB
- }
- mysqldump --host=$RDS -u $USER -p$PASSWORD --add-drop-database -d $DB | mysql
- restore $RDS $USER $PASSWORD $DUMP_OPT $DB $DB_APPROXIMATE_SIZE
- AD_MASTER_OUTPUT=$(mysql --host=$RDS -u $USER -p$PASSWORD -e 'show master status\G')
- AD_MASTER_FILE=$(echo $MASTER_OUTPUT | perl -ne 'print $1 if $_=~ /File: ([\w\.-]+)/' )
- AD_MASTER_POSITION=$(echo $MASTER_OUTPUT | perl -ne 'print $1 if $_ =~ /Position: (\d+)/' )
- echo "*********************************************"
- echo "* AFTER DUMP *"
- echo "*********************************************"
- echo "* $BD_MASTER_FILE | $BD_MASTER_POSITION"
- echo "*********************************************"
- LOG_FILE=$BF_MASTER_FILE
- LOG_POS=$DB_MASTER_POS
- mysql -e "CHANGE MASTER TO MASTER_HOST='"$RDS"', MASTER_USER='"$USER"', MASTER_PASSWORD='"$PASSWORD"', MASTER_LOG_FILE='"$LOG_FILE"', MASTER_LOG_POS=$LOG_POS, MASTER_CONNECT_RETRY=10;"
- mysql -e "start slave;"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement