Advertisement
Guest User

Untitled

a guest
Jan 12th, 2017
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 2.27 KB | None | 0 0
  1. #!/bin/sh
  2.  
  3. DB_APPROXIMATE_SIZE="270g"
  4. RDS="shopyminddata.crckgfvxxdav.eu-west-1.rds.amazonaws.com"
  5. PORT="3306"
  6. DB="shopyminddata"
  7. USER="spm_data"
  8. PASSWORD="***********************"
  9.  
  10. DUMP_OPT="--no-create-info --compact --flush-logs --hex-blob --master-data=2 --skip-lock-tables --single-transaction --quick"
  11.  
  12.  
  13. BD_MASTER_OUTPUT=$(mysql --host=$RDS -u $USER -p$PASSWORD -e 'show master status\G')
  14. BD_MASTER_FILE=$(echo $MASTER_OUTPUT | perl -ne 'print $1 if $_=~ /File: ([\w\.-]+)/' )
  15. BD_MASTER_POSITION=$(echo $MASTER_OUTPUT | perl -ne 'print $1 if $_ =~ /Position: (\d+)/' )
  16.  
  17. echo "*********************************************"
  18. echo "*                BEFORE DUMP                *"
  19. echo "*********************************************"
  20. echo "* $BD_MASTER_FILE      | $BD_MASTER_POSITION"
  21. echo "*********************************************"
  22.  
  23.  
  24. function restore() {
  25.     RDS=$1
  26.     USER=$2
  27.     PASSWORD=$3
  28.     DUMP_OPT=$4
  29.     DB=$4
  30.     DB_APPROXIMATE_SIZE=$5
  31.     (
  32.         echo "SET AUTOCOMMIT=0;"
  33.         echo "SET UNIQUE_CHECKS=0;"
  34.         echo "SET FOREIGN_KEY_CHECKS=0;"
  35.         mysqldump --host=$RDS -u $USER -p$PASSWORD $DUMP_OPT $DB
  36.         echo "SET FOREIGN_KEY_CHECKS=1;"
  37.         echo "SET UNIQUE_CHECKS=1;"
  38.         echo "SET AUTOCOMMIT=1;"
  39.         echo "COMMIT;"
  40.     ) | pv -prate -s $DB_APPROXIMATE_SIZE | mysql $DB
  41. }
  42.  
  43. mysqldump --host=$RDS -u $USER -p$PASSWORD --add-drop-database -d $DB | mysql
  44. restore $RDS $USER $PASSWORD $DUMP_OPT $DB $DB_APPROXIMATE_SIZE
  45.  
  46.  
  47. AD_MASTER_OUTPUT=$(mysql --host=$RDS -u $USER -p$PASSWORD -e 'show master status\G')
  48. AD_MASTER_FILE=$(echo $MASTER_OUTPUT | perl -ne 'print $1 if $_=~ /File: ([\w\.-]+)/' )
  49. AD_MASTER_POSITION=$(echo $MASTER_OUTPUT | perl -ne 'print $1 if $_ =~ /Position: (\d+)/' )
  50.  
  51.  
  52. echo "*********************************************"
  53. echo "*                 AFTER DUMP                *"
  54. echo "*********************************************"
  55. echo "* $BD_MASTER_FILE      | $BD_MASTER_POSITION"
  56. echo "*********************************************"
  57.  
  58. LOG_FILE=$BF_MASTER_FILE
  59. LOG_POS=$DB_MASTER_POS
  60.  
  61. 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;"
  62. mysql -e "start slave;"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement