Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como fazer backup do banco de dados MySQL em PHP?


Embora você possa executar comandos de backup do PHP, eles não têm nada a ver com o PHP. É tudo sobre o MySQL.

Eu sugiro usar o utilitário mysqldump para fazer backup de seu banco de dados. A documentação pode ser encontrada aqui:http://dev.mysql. com/doc/refman/5.1/en/mysqldump.html .

O uso básico do mysqldump é
mysqldump -u user_name -p name-of-database >file_to_write_to.sql

Você pode então restaurar o backup com um comando como
mysql -u user_name -p <file_to_read_from.sql

Você tem acesso ao cron? Eu sugiro fazer um script PHP que execute mysqldump como um cron job. Isso seria algo como
<?php

$filename='database_backup_'.date('G_a_m_d_y').'.sql';

$result=exec('mysqldump database_name --password=your_pass --user=root --single-transaction >/var/backups/'.$filename,$output);

if(empty($output)){/* no output is good */}
else {/* we have something to log the output here*/}

Se mysqldump não estiver disponível, o artigo descreve outro método, usando o SELECT INTO OUTFILE e LOAD DATA INFILE comandos. A única conexão com o PHP é que você está usando o PHP para se conectar ao banco de dados e executar os comandos SQL. Você também pode fazer isso a partir do programa MySQL de linha de comando, o monitor MySQL.

É bem simples, você está escrevendo um arquivo SQL com um comando e carregando/executando-o quando for hora de restaurar.

Você pode encontrar os documentos para selecionar em outfile aqui (basta pesquisar na página por outfile). LOAD DATA INFILE é essencialmente o inverso disso. Veja aqui para os docs.