Guest User

Untitled

a guest
Nov 22nd, 2018
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.19 KB | None | 0 0
  1. grep -n "Table Structure" mydump.sql
  2. # identify the first and last line numbers (n1 and n2) of desired table
  3. sed -n n1,n2p mydump.sql > mytable.sql # (e.g. sed -n 48,112p)
  4.  
  5. awk '/Table Structure for table .table1./, /Table structure for table .cultivars./{print}' mydump.sql > mytable.sql
  6.  
  7. mysql fakedb < mydump.sql
  8.  
  9. mysql
  10. delete from production.target_table;
  11.  
  12. insert into production.target_table select * from fakedb.targettable;
  13.  
  14. #!/bin/bash
  15.  
  16. # Where to restore
  17. db_host='localhost'
  18. db_name='adhoctuts'
  19. db_user='root'
  20. db_pass='Adhoctuts2018#'
  21.  
  22. dump_file='/root/scripts/dump_ignore.sql'
  23.  
  24. # Associative table list array as source_table=>destination_table pairs
  25. declare -A tbl_list=( ["tbl1"]="restored_tbl1" ["tbl2"]="restored_tbl2")
  26.  
  27. for tbl in "${!tbl_list[@]}"
  28. do
  29. echo "Restore $tbl to ${tbl_list[$tbl]}"
  30. # extract the content between drop table and Table structure for, also replace the table name
  31. sed -n -e '/DROP TABLE IF EXISTS `'$tbl'`/,//*!40000 ALTER TABLE `'$tbl'` ENABLE KEYS */;/p' $dump_file > tbl.sql
  32. sed -i 's/`'$tbl'`/`'${tbl_list[$tbl]}'`/g' tbl.sql
  33. mysql -h $db_host -u $db_user -p"$db_pass" $db_name < tbl.sql
  34. rm -f tbl.sql
  35. done
  36.  
  37. %= Define the database and root authorization details =%
  38. @ECHO OFF
  39. SETLOCAL EnableDelayedExpansion
  40.  
  41. set db_host=192.168.70.138
  42. set db_name=adhoctuts
  43. set db_user=adhoctuts
  44. set db_pass=Adhoctuts2018#
  45.  
  46. set dump_file=dump_ignore.sql
  47.  
  48. set tbl_cnt=2
  49. set source_table[1]=tbl1
  50. set destination_table[1]=restored_tbl1
  51. set source_table[2]=tbl2
  52. set destination_table[2]=restored_tbl2
  53.  
  54. set i=1
  55. :loop
  56. set src=!source_table[%i%]!
  57. set dest=!destination_table[%i%]!
  58. for /f "tokens=1 delims=[]" %%a in ('find /n "DROP TABLE IF EXISTS `%src%`"^<"%dump_file%"') do set /a start=%%a
  59. for /f "tokens=1 delims=[]" %%a in ('find /n "ALTER TABLE `%src%` ENABLE KEYS"^<"%dump_file%"') do set /a end=%%a
  60. (
  61. for /f "tokens=1* delims=[]" %%a in ('find /n /v ""^<"%dump_file%"') do (
  62.  
  63. set "line=%%b "
  64. IF %%a geq %start% IF %%a leq %end% ECHO( !line:%src%=%dest%!
  65. )
  66. )>"tbl.sql"
  67.  
  68. mysql -h %db_host% -u %db_user% -p"%db_pass%" %db_name% < "tbl.sql"
  69. del /f "tbl.sql"
  70. if %i% equ %tbl_cnt% goto :eof
  71. set /a i=%i%+1
  72. goto loop
Add Comment
Please, Sign In to add comment