Ir para conteúdo
  • Cadastre-se

(PHP) Importar/Exportar Database MySQL


Posts Recomendados

  • Administrador

Opa galerinha tudo certo com vocês? Então, hoje eu vim aqui postar um script muito util para aqueles que possuem grandes databases, esse é um script que eu tinha jogado aqui no fundo meu PC há um bom tempo e hoje eu precisei utilizar ele para importar uma database de mais de 1GB (gigantesca) para meu servidor MySQL, por isso eu fiz algumas alterações no script e ele está bem funcional, com certeza irá ajudar muitas pessoas! ;)

 

Importar Database MySQL:

<?php
// INFORMAÇÕES DA DATABASE
$mysqlHostName ='localhost';
$mysqlDatabaseName ='nome_da_database';
$mysqlUserName ='nome_do_usuario';
$mysqlPassword ='senha_do_usuario';
$mysqlImportFilename ='arquivo_para_importar.sql';

// SCRIPT (NÃO MEXA ABAIXO)
$comando='mysql -h' .$mysqlHostName .' -u' .$mysqlUserName .' -p' .$mysqlPassword .' ' .$mysqlDatabaseName .' < ' .$mysqlImportFilename;
exec($comando,$output=array(),$work);
switch($work){
	case 0:
		echo 'A importação do arquivo <b>' .$mysqlImportFilename .'</b> ocorreu com sucesso na database <b>' .$mysqlDatabaseName .'!</b>';
		break;
	case 1:
		echo 'Ocorreu um erro durante a importação do arquivo.<br>Por favor reveja as informações postadas por você e lembre-se que o arquvido à ser importado tem que estar na mesma pasta que este script!<br/><br/><table><tr><td>MySQL Database Name:</td><td><b>' .$mysqlDatabaseName .'</b></td></tr><tr><td>MySQL User Name:</td><td><b>' .$mysqlUserName .'</b></td></tr><tr><td>MySQL Password:</td><td><b>********</b></td></tr><tr><td>MySQL Host Name:</td><td><b>' .$mysqlHostName .'</b></td></tr><tr><td>MySQL Import Filename:</td><td><b>' .$mysqlImportFilename .'</b></td></tr></table>';
		break;
}
?>

Exportar Database MySQL:

<?php
//ENTER THE RELEVANT INFO BELOW
$mysqlHostName ='localhost';
$mysqlDatabaseName ='nome_da_database';
$mysqlUserName ='nome_do_usuario';
$mysqlPassword ='senha_do_usuario';
$mysqlExportPath ='arquivo_exportado.sql';

// SCRIPT (NÃO MEXA ABAIXO)
$comando='mysqldump --opt -h' .$mysqlHostName .' -u' .$mysqlUserName .' -p' .$mysqlPassword .' ' .$mysqlDatabaseName .' > ~/' .$mysqlExportPath;
exec($comando,$output=array(),$work);
switch($work){
	case 0:
		echo 'A database <b>' .$mysqlDatabaseName .'</b> foi exportada com sucesso para <b>~/' .$mysqlExportPath .'</b>';
		break;
	case 1:
		echo 'Houve algum problema durante a exportação da <b>' .$mysqlDatabaseName .'</b> para <b>~/' .$mysqlExportPath .'</b>';
		break;
	case 2:
		echo 'Ocorreu um erro durante a exportação.<br>Por favor revise as informações:<br/><br/><table><tr><td>MySQL Database Name:</td><td><b>' .$mysqlDatabaseName .'</b></td></tr><tr><td>MySQL User Name:</td><td><b>' .$mysqlUserName .'</b></td></tr><tr><td>MySQL Password:</td><td><b>********</b></td></tr><tr><td>MySQL Host Name:</td><td><b>' .$mysqlHostName .'</b></td></tr></table>';
		break;
}
?>

Como utilizar-lo: É bem simples, você precisará alterar as informações necessárias do seu banco de dados dentro do script e depois basta você criar uma pasta em seu servidor ftp e colocar o script dentro dela, dai você apenas acessa essa pasta pelo navegador. Se você for importar, o arquivo à ser importado tem que estar na mesma pasta que o script. Se você for exportar, o arquivo será exportado para a mesma pasta do script.

 

A intenção deste script é importar databases grande de maneira rápida e também importar databases que ultrapassam o limite upload (tamanho de arquivos e tempo de carregamento) impostos pelo phpMyAdmin.

 

Bom, espero que ajude muita gente, abraços! ;D

 

dm3o5y8.png

 
Você gostou deste conteúdo!? Este conteúdo te ajudou!? Isso será realmente útil pra você!?
Então, se possível, faça uma doação (de qualquer valor) que estará me ajudando também! :P
 

TibiaKing Team- KingTópicos
www.tibiaking.com

Link para o post
Compartilhar em outros sites
  • 6 months later...

Desculpa pelo up no tópico,

mas a função exec, são na maioria das vezes desativadas para evitar que seja executado comandos maliciosos no servidor. Uma melhor prática seria executando este comando que você disse de uma forma mais configurável direto no terminal, ssh:

#mysqldump --opt -h <host> -u <user> -p <password> <database> > <diretorio>
mysqldump --opt -h 127.0.0.1 -u root -p gpedro otserv > /home/gpedro/dump.sql

ou de forma "reduzida"

#mysql -h <host> -u <user> -p <password> <database> > <diretorio>
mysql -h 127.0.0.1 -u root -p gpedro otserv > /home/gpedro/dump.sql

Caso possua interface web de administração do banco (e.g: phpMyAdmin), exporte usando a interface. Lembrando que deve ficar atento a algumas configurações na hora de exportar lá no phpMyAdmin.

dgnlev.png

Link para o post
Compartilhar em outros sites
  • 2 months later...

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo