Advertisement
Guest User

Untitled

a guest
Mar 2nd, 2019
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.11 KB | None | 0 0
  1. <?
  2.  
  3. //Timer start
  4. $time = microtime();
  5. $time = explode(' ', $time);
  6. $time = $time[1] + $time[0];
  7. $start = $time;
  8.  
  9.  
  10. ini_set('memory_limit','4000M');
  11. //ini_set('max_execution_time', 300);
  12.  
  13.  
  14. $host = "host";
  15. $user = "user";
  16. $pass = "pass";
  17.  
  18. $db = "tagdb";
  19.  
  20. $link = mysql_connect($host,$user,$pass);
  21. $result = mysql_query("show databases like 'tag%'"); // we only want tagdb
  22.  
  23. while($row = mysql_fetch_row($result))
  24. {
  25. $dbs[] = $row[0];
  26. }
  27.  
  28. foreach($dbs as $db)
  29. {
  30. if(strlen($db) == 10 || $db == "tagdb" || $db == "tagui")
  31. {
  32. echo $db."n";
  33. backup_tables($host,$user,$pass,$db);
  34. }
  35. }
  36.  
  37.  
  38. //backup_tables($host,$username,$password,$db);
  39.  
  40. /* backup the db OR just a table */
  41. function backup_tables($host,$user,$pass,$name,$tables = '*')
  42. {
  43.  
  44. $fname = 'db-backup-'.$name.'_'.time().'.sql';
  45. echo $fname."n";
  46. $handle = fopen($fname,'w+');
  47. $return = '';
  48. fwrite($handle,$return);
  49. fclose($handle);
  50.  
  51. $link = mysql_connect($host,$user,$pass);
  52. mysql_select_db($name,$link);
  53.  
  54. //get all of the tables
  55. if($tables == '*')
  56. {
  57. $tables = array();
  58. $result = mysql_query('SHOW TABLES');
  59. while($row = @mysql_fetch_row($result))
  60. {
  61. $tables[] = $row[0];
  62. }
  63. }
  64. else
  65. {
  66. $tables = is_array($tables) ? $tables : explode(',',$tables);
  67. }
  68.  
  69. foreach($tables as $table)
  70. {
  71. $handle = fopen($fname,'a');
  72. fwrite( $handle, 'DROP TABLE IF EXISTS '.$table.';' );
  73.  
  74. $row2 = mysql_fetch_row(mysql_query('SHOW CREATE TABLE '.$table));
  75. fwrite( $handle, "nn".$row2[1].";nn" );
  76.  
  77. $offset = 10000;
  78.  
  79. $start = 0;
  80. do {
  81. $result = mysql_query( "SELECT * FROM ".$table." LIMIT ".$start.", ".$offset."" );
  82. $start += $offset;
  83.  
  84.  
  85. $num_rows = mysql_num_rows( $result );
  86. if (false === $result) {
  87. //close original file
  88. fclose($handle);
  89. //open error file
  90. $errfn = $fname.'.ERROR';
  91. $errf = fopen($errfn,'a');
  92. $err = mysql_error();
  93. fwrite( $errf, $err );
  94. fclose($errf);
  95. //reopen original file
  96. $handle = fopen($fname,'a');
  97. //break loop
  98. $num_rows = 0;
  99. }
  100.  
  101. while( $row = mysql_fetch_row( $result ) ) {
  102. $line = 'INSERT INTO '.$table.' VALUES(';
  103. foreach( $row as $value ) {
  104. $value = addslashes( $value );
  105. @$value = ereg_replace( "n","\n", $value );
  106. $line .= '"'.$value.'",';
  107. }
  108. $line = substr( $line, 0, -1 ); // cut the final ','
  109. $line .= ");n";
  110. fwrite( $handle, $line );
  111. }
  112. } while( $num_rows !== 0 );
  113. }
  114.  
  115. $return="nnn";
  116. fwrite($handle,$return);
  117. fclose($handle);
  118. }
  119.  
  120. //End timer and output time
  121. $time = microtime();
  122. $time = explode(' ', $time);
  123. $time = $time[1] + $time[0];
  124. $finish = $time;
  125. $total_time = round(($finish - $start), 4);
  126. echo "n Page generated in ".$total_time." seconds. n";
  127. ?>
  128.  
  129. CREATE TABLE new_table LIKE old_table;
  130. INSERT new_table SELECT * FROM old_table;
  131.  
  132. CREATE TABLE NEW_DB.new_table LIKE OLD_DB.old_table;
  133. INSERT NEW_DB.new_table SELECT * FROM OLD_DB.old_table;
  134.  
  135. mysqldump -u [username] -p[password] db_name > [timestamped_filename].sql
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement