Advertisement
Guest User

Untitled

a guest
Jun 11th, 2016
124
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.97 KB | None | 0 0
  1. #!/bin/bash
  2. #jachermocilla@gmail.com
  3. #run as root in BACKUP_DB_PATH
  4.  
  5. MYSQL_USER=root
  6. MYSQL_PASSWORD=joseph
  7. MYSQL_HOST=127.0.0.1
  8. MYSQL_DATA_PATH=/var/lib/mysql
  9. TARGET_PORT=9999
  10. THIS_USER=root
  11. DB_NAME=glance
  12. BACKUP_DB_PATH=.
  13.  
  14. echo "Preparing mysql for recovery..."
  15. service mysql stop
  16. rm -fr $MYSQL_DATA_PATH
  17. dpkg-reconfigure mysql-server-5.6
  18. #service mysql stop
  19. #rm $MYSQL_DATA_PATH/ibdata1
  20. #rm $MYSQL_DATA_PATH/ib_logfile0
  21. #rm $MYSQL_DATA_PATH/ib_logfile1
  22. #rm -fr $MYSQL_DATA_PATH/$DB_NAME
  23. #service mysql start
  24.  
  25. sleep 10s
  26.  
  27. #mysql -u$MYSQL_USER -p$MYSQL_PASSWORD -e "DROP DATABASE $DB_NAME;"
  28. mysql -u$MYSQL_USER -p$MYSQL_PASSWORD -e "CREATE DATABASE $DB_NAME;"
  29.  
  30. for f in *.ibd
  31. do
  32. #f=credential.ibd
  33. #f=$1
  34. f=${f%.ibd}
  35. echo "Processing $f..";
  36.  
  37. #echo ">>>generate create statements"
  38. #mysqlfrm --server=$MYSQL_USER:$MYSQL_PASSWORD@$MYSQL_HOST --port $TARGET_PORT --user $THIS_USER $BACKUP_DB_PATH/$f.frm | grep -v ^# > $f.sql;
  39.  
  40. #cat $f.sql
  41.  
  42. echo ">>>feed the create to mysql"
  43. mysql -u$MYSQL_USER -p$MYSQL_PASSWORD $DB_NAME < $f.sql
  44. done
  45.  
  46.  
  47. echo ">>>stop mysql"
  48. service mysql stop
  49.  
  50. for f in *.ibd
  51. do
  52. f=${f%.ibd}
  53. echo "Processing $f..";
  54. echo ">>>remove generated data"
  55. rm $MYSQL_DATA_PATH/$DB_NAME/$f.ibd
  56.  
  57. echo ">>>copy backup table"
  58. cp $BACKUP_DB_PATH/$f.ibd $MYSQL_DATA_PATH/$DB_NAME/$f.ibd
  59.  
  60. echo ">>>set permission and ownership"
  61. chmod 660 $MYSQL_DATA_PATH/$DB_NAME/$f.ibd
  62. chown mysql.mysql $MYSQL_DATA_PATH/$DB_NAME/$f.ibd
  63. done
  64.  
  65. echo ">>>restart mysql"
  66. service mysql start
  67. sleep 30s
  68.  
  69.  
  70. for f in *.ibd
  71. do
  72. f=${f%.ibd}
  73. echo "Processing $f..";
  74. echo ">>>discard table space"
  75. mysql -u$MYSQL_USER -p$MYSQL_PASSWORD --connect_timeout 120 -e "ALTER TABLE $DB_NAME.$f DISCARD TABLESPACE;"
  76.  
  77. sleep 10s
  78.  
  79. echo ">>>import table space"
  80. mysql -u$MYSQL_USER -p$MYSQL_PASSWORD --connect_timeout 120 -e "ALTER TABLE $DB_NAME.$f IMPORT TABLESPACE;"
  81.  
  82. sleep 10s
  83.  
  84. echo ">>>check for data"
  85. mysql -u$MYSQL_USER -p$MYSQL_PASSWORD --connect_timeout 120 -e "SELECT COUNT(*) FROM $DB_NAME.$f;"
  86.  
  87. done
  88.  
  89. #cleanup
  90. #rm *.sql
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement