Ir para conteúdo

[php/sql]backup De Seu Banco De Dados


Posts Recomendados

Muitas vezes, dados são perdidos do banco de dados por alguma razão. Por isso, é sempre bom ter um backup de tudo importante. Eis uma função com essas características:

 

<?php 
function backup_db($host, $user, $pass, $db) {

mysql_connect($host,$user,$pass) or die(mysql_error());  
mysql_select_db($db) or die(mysql_error()); 
$back = fopen("backup.sql","w"); 

$res = mysql_list_tables($db) or die(mysql_error()); 
while ($row = mysql_fetch_row($res)) { 
	$table = $row[0]; 
	$res2 = mysql_query("SHOW CREATE TABLE $table"); 
		while ( $lin = mysql_fetch_row($res2)){ 
			fwrite($back,"-- Criando tabela : $table\n"); 
			$res3 = mysql_query("SELECT * FROM $table"); 
				while($r=mysql_fetch_row($res3)){ 
					$sql="INSERT INTO $table VALUES ('"; 
					$sql .= implode("','",$r); 
					$sql .= "')\n"; 
					fwrite($back,$sql); 
				} 
		} 
} 

fclose($back); 
}
?>

 

Para usar, é muito fácil:

  • $host = Host do servidor, normalmente localhost
  • $user = Usuário do banco de dados, normalmente root
  • $pass = Senha do banco de dados
  • $db = Db desejada para o backup

Depois disso, você pode usar assim:

 

backup_db('localhost', 'root', '123', 'otserv');

 

Caso você queira por a função num arquivo e chamá-la em outro, fácil.

 

<?php

require_once("nome_do_arquivo_que_vc_pos_a_funcao.php");

backup_db('localhost', 'root', '123', 'otserv');

?>

 

Atenção! O código gerará o arquivo backup.sql no mesmo diretório que se encontrar a função.

 

 

Espero que gostem e usem! =)

Editado por Nostradamus
Link para o comentário
Compartilhar em outros sites

  • 1 year later...
  • 2 months later...
  • 10 months later...
×
×
  • Criar Novo...