Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Wilker

Backup de MySQL

Recommended Posts

bom, depois de pesquisar mto na net sobre backup de MySQL feito em PHP, e n encontrar nada que realmente funcionasse (mtos esqueciam de cancelar as aspas, oq gerava imenso problema pra importa depois), eu criei um que faz o backup de todos os banco de dados que estejam no MySQL (mto util em uma empresa por exemplo). Bom, o codigo esta aki em baixo, usem a vontade ^_^

 

o codigo é gravado num arquivo .sql

 

PHP
mysql_connect("localhost","root","") or die(mysql_error());

$queryDbs = mysql_query("show databases");

 

$back = fopen("mysql_backup.sql","w");

 

while($dbs = mysql_fetch_array($queryDbs)) {

        $dbname = $dbs[0];

        mysql_select_db($dbname) or die(mysql_error());

        $finalVar .= "ncreate database {$dbs[0]};n";

        $finalVar .= "use {$dbs[0]};nn";

       

        $res = mysql_list_tables($dbname);

       

        while ($row = mysql_fetch_row($res)) {

                $table = $row[0];

                $res2 = mysql_query("SHOW CREATE TABLE $table");

               

                while ( $lin = mysql_fetch_row($res2)) {

                        $finalVar .= "$lin[1]";

                        $finalVar = substr($finalVar, 0, -12);

                        $finalVar .= ";nn";

                        $res3 = mysql_query("SELECT * FROM $table");

                       

                        while($r = mysql_fetch_row($res3)) {

                                reset($r);

                                while($slash = each($r)) {

                                        $r[$slash[0]] = addslashes($r[$slash[0]]);

                                }

                       

                                $sql = "INSERT INTO $table VALUES ('";

                                $sql .= implode("','",$r);

                                $sql .= "');n";

                                $finalVar .= $sql;

                        }

                }

        }

}

 

fwrite($back, $finalVar);

 

fclose($back);

 

dica, se voce for usar isso numa empresa, apos fechar o codigo PHP, insira:

 

<meta http-equiv="refresh" content="14400;">

ultimo backup realizado: <?php echo date("d/m/Y H:i"); ?>

 

e depois deixe essa janela sempre aberta, pois dessa forma o backup sera realizado 1 vez a cada 4 horas.

 

espero ter ajudado ^_^

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse código exibe esse erro:

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in C:\Arquivos de programas\Apache Group\Apache2\htdocs\admin\backup.php on line 25

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in C:\Arquivos de programas\Apache Group\Apache2\htdocs\admin\backup.php on line 25

 

Um abraço.

 

 

Alissong

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.