Beraldo Postado Dezembro 18, 2006 Denunciar Share Postado Dezembro 18, 2006 Script postado por: FabyoBackup de banco de dados MySQL Basta configurar a conexao com o banco e rodar o scriptele pega o banco completo com as tabelas e conteudo e cria um arquivo.sql com a data atualobs: Feito com Mysqli ( versao das funções do mysql melhorada com varios recursos a mais e orientado a objeto ) só funciona com PHP 5esse script não esta usando orientação a objetos ;) http://br.php.net/mysqli <?php $link = mysqli_connect("localhost", "user", "senha", "nome_banco"); if (function_exists("set_time_limit") == 1 and get_cfg_var("safe_mode") == 0) { @set_time_limit(0); } function sqlAddslashes($str = '', $is_like = false) { if ($is_like) { $str = str_replace('\\', '\\\\\\\\', $str); } else { $str = str_replace('\\', '\\\\', $str); } $str = str_replace('\'', '\\\'', $str); return $str; } function dumptb($table) { global $link; $nline = "\n"; $dp = "CREATE TABLE $table ($nline\r\n"; $firstfield = 1; $fields_array = mysqli_query($link, "SHOW FIELDS FROM $table"); while ($field = mysqli_fetch_array($fields_array)) { if (!$firstfield) { $dp .= ",\r\n"; } else { $firstfield = 0; } $dp .= "\t" . $field["Field"] . " " . $field["Type"]; if (isset($field['Default']) && $field['Default'] != '') { $dp .= ' default \'' . sqlAddslashes($field['Default']) . '\''; } if ($field['Null'] != 'YES') { $dp .= ' NOT NULL '; } if (!empty($field["Extra"])) { $dp .= $field["Extra"]; } } mysqli_free_result($fields_array); $keysindex_array = mysqli_query($link, "SHOW KEYS FROM $table"); while ($key = mysqli_fetch_array($keysindex_array)) { $kname = $key['Key_name']; if ($kname != "PRIMARY" and $key['Non_unique'] == 0) { $kname = "UNIQUE|$kname"; } $index[$kname][] = $key['Column_name']; } mysqli_free_result($keysindex_array); while (list($kname, $columns) = @each($index)) { $dp .= ",\n"; $colnames = implode($columns, ","); if ($kname == 'PRIMARY') { $dp .= "\tPRIMARY KEY ($colnames)"; } else { if (substr($kname, 0, 6) == 'UNIQUE') { $kname = substr($kname, 7); } $dp .= " KEY $kname ($colnames)"; } } $dp .= "\n);\n\n"; $rows = mysqli_query($link, "SELECT * FROM $table"); $numfields = mysqli_num_fields($rows); while ($row = mysqli_fetch_array($rows)) { $dp .= "INSERT INTO $table VALUES("; $fieldcounter = -1; $firstfield = 1; while (++$fieldcounter < $numfields) { if (!$firstfield) { $dp .= ' , '; } else { $firstfield = 0; } if (!isset($row[$fieldcounter])) { $dp .= 'NULL'; } else { $dp .= "'" . mysqli_escape_string($link, $row[$fieldcounter]) . "'"; } } $dp .= ");\n"; } mysqli_free_result($rows); return $dp; } $table = mysqli_query($link, "SHOW tables"); unset($temp_buffer); while ($row = mysqli_fetch_array($table)) { if (!empty($row[0])) { $temp_buffer = dumptb($row[0]) . "\n\n\n"; } } $file_name = "backup_sql_" . date("d-m-Y") . ".txt"; $filehandle = fopen($file_name, 'w'); $result = mysqli_query($link, "SHOW tables"); while ($row = mysqli_fetch_array($result)) { fwrite($filehandle, dumptb($row[0]) . "\n\n\n"); } fclose($filehandle); mysqli_close($link); ?> Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Beraldo
Script postado por: Fabyo
Backup de banco de dados MySQL
Basta configurar a conexao com o banco e rodar o script
ele pega o banco completo com as tabelas e conteudo e cria um arquivo.sql com a data atual
obs: Feito com Mysqli ( versao das funções do mysql melhorada com varios recursos a mais e orientado a objeto )
só funciona com PHP 5
esse script não esta usando orientação a objetos ;)
http://br.php.net/mysqli
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.