Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Автодампер базы данных.

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
event
Отправлено: 04 Октября, 2011 - 00:51:06
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 542
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




Доброй ночи.
Ребята у кого нибудь есть автодампер базы данных на PHP.

(Отредактировано автором: 04 Октября, 2011 - 00:51:41)

 
 Top
caballero
Отправлено: 04 Октября, 2011 - 01:38:22
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




Автодампера на PHP быть не может потому что сам PHP не авто.
Если цеплять скрипт на крон то проще уже поцепить вызов mysqldump без всякого PHP


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
event
Отправлено: 04 Октября, 2011 - 12:10:27
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 542
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




Ну так мне нужен скрипт на PHP, чтобы я потом поставил его на крон, имею ввиду чтобы сам скрипт был написан на языке PHPm.
(Добавление)
Ну так мне нужен скрипт на PHP, чтобы я потом поставил его на крон, имею ввиду чтобы сам скрипт был написан на языке PHP.
 
 Top
White
Отправлено: 04 Октября, 2011 - 12:28:22
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 830
Дата рег-ции: Июнь 2011  
Откуда: Днепропетровск


Помог: 28 раз(а)




CODE (SQL):
скопировать код в буфер обмена
  1. SELECT ... INTO OUTFILE ...


-----
if(time()>1356048000) die();
 
 Top
event
Отправлено: 05 Октября, 2011 - 07:57:29
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 542
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




Самому написать не хватает знаний PHP, возможно у кого нибудь есть уже готовый скрипт, или хотя бы наработки...
 
 Top
snikers987
Отправлено: 05 Октября, 2011 - 19:09:36
Post Id



Участник


Покинул форум
Сообщений всего: 1239
Дата рег-ции: Сент. 2011  
Откуда: Крым


Помог: 25 раз(а)




event могу написать за недорого.


-----
Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
 
My status
 Top
event
Отправлено: 05 Октября, 2011 - 21:10:50
Post Id


Частый посетитель


Покинул форум
Сообщений всего: 542
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




Нет спасибо, нашел другое решение, поставил Sypex Dumper на крон, доволен.
 
 Top
snikers987
Отправлено: 06 Октября, 2011 - 22:32:04
Post Id



Участник


Покинул форум
Сообщений всего: 1239
Дата рег-ции: Сент. 2011  
Откуда: Крым


Помог: 25 раз(а)




PHP:
скопировать код в буфер обмена
  1. <?
  2. /*-------------------------------------------------------+
  3. | MySQL Database Dumper
  4. | http://privatbank24.info
  5. +--------------------------------------------------------+
  6. | Filename: dumper.php
  7. | Author: snikers987
  8. +--------------------------------------------------------+
  9. | This program is released as free software.
  10. +--------------------------------------------------------*/
  11. $host ="localhost";
  12. $login ="root";
  13. $pass ="pass";
  14. $db_name = "db";
  15. $backup_dir = "/backup";
  16. mysql_connect($host , $login, $pass);
  17. mysql_select_db($db_name);
  18. $enc_arr  = mysql_fetch_row(mysql_query("SHOW VARIABLES LIKE 'character_set_database'"));
  19. $dbencoding = $enc_arr[1];
  20. $version  = mysql_fetch_row(mysql_query("SELECT VERSION()"));
  21. mysql_query("SET NAMES utf8");
  22. $table_opt_list = "";
  23. $result = mysql_query("SHOW tables");
  24. while ($row = mysql_fetch_row($result)) {
  25.         $table_opt_list .= "".$row[0]."TT";
  26. }
  27. $db_tables = array_diff(explode("TT" , $table_opt_list) ,array(''));
  28.  
  29. if ($db_tables!=''){
  30.         if (count($db_tables)) {
  31.                 $crlf = "\n";
  32.                 ob_start();
  33.                 @ob_implicit_flush(0);
  34.                 echo "#----------------------------------------------------------".$crlf;
  35.                 echo "# Auto SQL Data Dumper".$crlf;
  36.                 echo "# Database Name: ".$db_name."".$crlf;
  37.                 echo "# Date: `".date("d/m/Y H:i")."`".$crlf;
  38.                 echo "# Encoding database: `".$dbencoding."`".$crlf;
  39.                 echo "# MySQL server version: `".$version[0]."`".$crlf;
  40.                 echo "#----------------------------------------------------------".$crlf;
  41.                 mysql_query('SET SQL_QUOTE_SHOW_CREATE=1');
  42.                 foreach ($db_tables as $table) {
  43.                         @set_time_limit(1200);
  44.                         mysql_query("OPTIMIZE TABLE $table");
  45.                         echo $crlf."#".$crlf."# Structure for Table `".$table."`".$crlf."#".$crlf;
  46.                         echo "DROP TABLE IF EXISTS `$table`;$crlf";
  47.                         $row = mysql_fetch_row(mysql_query("SHOW CREATE TABLE $table"));
  48.                         echo $row[1].";".$crlf;
  49.                         $result = mysql_query("SELECT * FROM $table");
  50.                         if ($result && mysql_num_rows($result)) {
  51.                                 echo $crlf."#".$crlf."# Table Data for `".$table."`".$crlf."#".$crlf;
  52.                                 $column_list = "";
  53.                                 $num_fields= mysql_num_fields($result);
  54.                                 for ($i = 0; $i < $num_fields; $i++) {
  55.                                         $column_list .= (($column_list != "") ? ", " : "")."`".mysql_field_name($result, $i)."`";
  56.                                 }
  57.                         }
  58.                
  59.        
  60.                        
  61.                         while ($row = mysql_fetch_row($result)) {
  62.                                 $dump = "INSERT INTO `$table` ($column_list) VALUES (";
  63.                                 for ($i = 0; $i < $num_fields; $i++) {
  64.                                         $dump .= ($i > 0) ? ", " : "";
  65.                                         if (!isset($row[$i])) {
  66.                                                 $dump .= "NULL";
  67.                                         } elseif ($row[$i] == "0" || $row[$i] != ""){
  68.                                                 $type = mysql_field_type($result, $i);
  69.                                                 if ($type == "tinyint" || $type == "smallint" || $type == "mediumint" || $type == "int" || $type == "bigint"|| $type == "timestamp") {
  70.                                                         $dump .= "'$row[$i]'";
  71.                                                 } else {
  72.                                                         $search_array = array('\\', &#65533;39;\'', "\x00", "\x0a", "\x0d", "\x1a");
  73.                                                         $replace_array = array('\\\\', '\\\'', '\0', '\n', '\r', '\Z');
  74.                                                         $row[$i] = str_replace($search_array, $replace_array, $row[$i]);
  75.                                                         $dump .= "'$row[$i]'";
  76.                                                 }
  77.                                         } else {
  78.                                         $dump .= "''";
  79.                                         }
  80.                                 }
  81.                                 $dump .= ");";
  82.                                 echo $dump.$crlf;
  83.                         }
  84.                 }      
  85.         }      
  86. }
  87.  $contents = ob_get_contents();
  88.                 ob_end_clean();
  89.        
  90.  
  91. if (!empty($contents)){
  92.         $file = tempnam("".$_SERVER['DOCUMENT_ROOT'].$backup_dir."", "dmp");   
  93.         $open = fopen($file, "w");
  94.         fwrite($open, $contents);
  95.         fclose($open);
  96.         $new_dump_name = date('d_m_Y_H_i_s')."_dump_".$db_name.".sql";
  97.         $file_r= rename($file, $new_dump_name);
  98.         unset($contents);
  99.         exit('Ok');
  100. }
  101. else{
  102.         exit('Error'); 
  103. }
  104.        
  105. ?>


написал чисто из спортивного интереса) так сказать опыт) записывает в фаил полный дамп (CREATE , INSERT).

(Отредактировано автором: 08 Октября, 2011 - 15:49:04)



-----
Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
 
My status
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB