Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal, bom dia;
Eu tenho um script de backup MYSQLDUMP que eu faço. Faço backup em 6 banco de dados. 4 bancos o script faz normal. Porém em 2 bancos de dados não faz. Ele gera o nome do arquivo SQL mas não faz o backup.
Dentro do arquivo vem com a seguinte informação
-----------------------------------------------------------------------------------------------------------------------------------
-- MySQL dump 10.13 Distrib 5.5.21, for Win64 (x86)
--
-- Host: mysql01.cplogistica2.hospedagemdesites.ws Database: cplogistica2
-- ------------------------------------------------------
-- Server version 5.6.30-76.3-log
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
------------------------------------------------------------------------------------------------------------------------------------------------------------------------
O script é esse
//Inicio Backup Banco do KW Ambiental
$nomebancocp = 'CPLogistica_';
$dbhostcp = 'host';
$dbusercp = 'user';
$dbpasscp= 'pass';
$dbnamecp = 'database';
$backupfilecp = 'E:\TecnoGalli\_ProjetosWebAtuais\backup_base\cp_logistica/'.$nomebancocp.date("Ymd")."_".date("H.i.s").'.sql';
$backupzipcp = $backupfilecp . '.tar.gz';
system("mysqldump -h $dbhostcp -u $dbusercp -p$dbpasscp --lock-tables $dbnamecp > $backupfilecp");
system("tar -czvf $backupzipcp $backupfilecp");Sé alguém puder me ajudar.
Att;
Gilberto Jr>
9 minutos atrás, Kochon disse:
Ola, Gilberto
Estou com o mesmo problema, porem com escript diferente.
Tenho 6 banco de dados e 2 nao fazem backup, verifiquei que os 2 bancos que nao fazem backup tem o ponto (.) no meio do nome: bd1.status e bd2.inicio, nao sei ao certo mas pelo que li em uma documentação mysql é que deve ser por causa do ponto entre os nomes.
Nesse caso você não consegue fazer a alteração para colocar o nome do banco de dados sem o (.)?
Poderia colocar seu script para eu analisar ele?
Att;
Gilberto Jr@Gilberto Jr, a primeira coisa que você precisa fazer, é isolar seu problema.
Execute o mysqldump isoladamente, especificamente para essa base que cujo backup não é feito:
mysqldump -u user -h host -ppswd DB_NAME | gzip >db_name.sql.gz
O diagnóstico vem a partir da execução individual, não da execução do lote.
>
21 minutos atrás, João Batista Neto disse:
mysqldump -u user -h host -ppswd DB_NAME | gzip >db_name.sql.gz
Se eu criar um arquivo php e colocar esse script funcionaria? Eu trocaria as informações de conexão com o banco de dados?
Grato!
Att;
Gilberto JrO que queremos é exatamente isolar o problema, @Gilberto Jr; execute manualmente, no seu terminal e verifique o estado do dump. Só depois pense em colocar num script.
Fiz dessa forma, e quando eu pressiono Enter acontece isso.
/applications/core/interface/imageproxy/imageproxy.php?img=http://image.prntscr.com/image/a8ba7cec69914a4c9461e8d8f8c506db.png&key=9d96e39882f4ebdfff21118e4ac8eec260ab214ff4154303485f7048290726bf" alt="a8ba7cec69914a4c9461e8d8f8c506db.png" />
Não, velho; você quer executar no seu terminal aí, não dentro do mysql. Da mesma forma como você acessou o mysql aí no seu terminal, você vai executar o mysqldump.
>
8 minutos atrás, João Batista Neto disse:
Não, velho; você quer executar no seu terminal aí, não dentro do mysql. Da mesma forma como você acessou o mysql aí no seu terminal, você vai executar o mysqldump.
Bom, eu não estou conseguindo entender rsrs.
Esse banco de dados que eu quero fazer o backup esta em um servidor externo, um servidor na locaweb.
Eu fiz o teste usando o meu servidor local, localhost e o backup foi efetuado com sucesso.
Att;
Gilberto Jr>
1 minuto atrás, Gilberto Jr disse:
Eu fiz o teste usando o meu servidor local, localhost e o backup foi efetuado com sucesso.
Quando você executa o mysqldump no seu servidor local, o backup é feito corretamente? Com todo o conteúdo esperado?
Dentro da pasta EasyPHP-12.1\mysql\bin\ tem o exe mysqldump.exe.
Quando eu executo ele, ele só abre a tela e fecha. Nem da pra ver o que esta escrito.
Fiz usando o mysqldump pelo PHP.
Att;
Gilberto JrNão; você executou o mysqldump PONTO. O PHP não teve nada a ver com a história.
Vamos lá, novamente:
mysqldump -u USER -pPSWD -h SEU_HOST DATABASE > dump.sql
Se você executa isso aí, o arquivo dump.sql é criado com todo o conteúdo esperado?
>
5 minutos atrás, João Batista Neto disse:
Não; você executou o mysqldump PONTO. O PHP não teve nada a ver com a história.
Vamos lá, novamente:
mysqldump -u USER -pPSWD -h SEU_HOST DATABASE > dump.sql
Se você executa isso aí, o arquivo dump.sql é criado com todo o conteúdo esperado?
Vamos deixar isso pra lá. Eu não estou conseguindo entender o que esta me passando para eu fazer.
Att;
Gilberto JrVocê disse que dentro do seu diretório mysql/bin você tem o mysqldump.exe. Se você faz:
mysql\bin\mysqldump.exe -u USER -h HOST -pPSWD DATABASE > dump.sql
Isso cria o arquivo dump.sql com o conteúdo esperado?
quando eu gero pelo localhost, funciona. mas quando eu rodo pelo servidor do banco de dados da essa mensagem.
Att;
Gilberto JrVelho, eu apaguei a imagem porque o servidor, usuário e senha estavam expostos; tome cuidado com isso porque pode colocar seus dados em risco.
Sobre o erro, a mensagem é clara: não foi possível conectar ao servidor. O host está correto?
Obrigado, por essa gentiliza.
Esta correto sim, pois eu acesso o banco de dados pelo site. Para buscar as informações para mostrar no site.
o user, pass e host esta tudo correto. Eu uso esses dados para acesso a banco de dados pelo site.
Att;
Compreendido; o acesso remoto está fechado. Você provavelmente não tem ssh a esse servidor, né?
Você tem algum painel, phpmyadmin, etc?
/applications/core/interface/imageproxy/imageproxy.php?img=http://image.prntscr.com/image/e0e3cee2c8db4398a78ba25b97962832.png&key=392b1760d78b322ac2902cc65acf417913e01990728240768b7b684d5d9edaaa" style="background-position:0px 10px;background-color:#FFFFFF;" alt="e0e3cee2c8db4398a78ba25b97962832.png" />
Desculpa, o host estava errado. Acertei ele e gerou esse novo erro.
Tenho um painel MYSQLFRONT e NAVICAT FOR MYSQL para acesso ao banco de dados.
Veja acessando o PHPMYADMIN da locaweb ele mostra esse mostra esses dados.
/applications/core/interface/imageproxy/imageproxy.php?img=http://image.prntscr.com/image/709691e44bad4a38ba6369de1b80fc87.png&key=6855eaeb36f2616f52302453484c919b13a6b3af124f2199ccd865ad16d70007" alt="709691e44bad4a38ba6369de1b80fc87.png" />
E o arquivo DUMP.SQL que foi gerado, ele gerou essas informações
-- MySQL dump 10.13 Distrib 5.5.27, for Win32 (x86)
--
-- Host: mysql01.cplogistica2.hospedagemdesites.ws Database: cplogistica2
-- ------------------------------------------------------
-- Server version 5.6.30-76.3-log
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
Att;
Gilberto JrVocê está usando versões diferentes do mysql e mysqldump na sua máquina local daquela que está instalada no servidor. Atualize seu mysql local e tente novamente.
Entendi, eu colocando a versão 5.7.17 vai da certo será?
A atualização do mysql, é só executar e clicar em NEXT, NEXT, NEXT e FINISH?
Eu tenho a versão 5.5 instalado aqui e tenho medo de fazer a atualização e da problema na versão que eu já tenho instalado.
Att;
Gilberto Jr>
2 minutos atrás, Gilberto Jr disse:
Entendi, eu colocando a versão 5.7.17 vai da certo será?
Altamente provável que sim; atualizando o mysql da sua máquina para qualquer coisa maior ou igual ao 5.6 do servidor já é altamente provável que dê certo.
>
4 minutos atrás, Gilberto Jr disse:
A atualização do mysql, é só executar e clicar em NEXT, NEXT, NEXT e FINISH?
Acredito que sim, mas não uso Windows, então não sei dizer como é essa atualização aí.
>
5 minutos atrás, Gilberto Jr disse:
Eu tenho a versão 5.5 instalado aqui e tenho medo de fazer a atualização e da problema na versão que eu já tenho instalado.
Veja sobre a atualização do EasyPHP que você tem aí; provavelmente existe alguma documentação sobre essa atualização.
>
Em 08/02/2017 at 14:30, João Batista Neto disse:
Altamente provável que sim; atualizando o mysql da sua máquina para qualquer coisa maior ou igual ao 5.6 do servidor já é altamente provável que dê certo.
Acredito que sim, mas não uso Windows, então não sei dizer como é essa atualização aí.
Veja sobre a atualização do EasyPHP que você tem aí; provavelmente existe alguma documentação sobre essa atualização.
Bom, irei fazer a atualização do MYSQL e acredito que o meu problema vai ser solucionado.
Att;
Show, @Gilberto Jr. Não deixe de voltar para comentar o resultado. Feedbacks agregam valor ao tópico.
@João Batista Neto, tudo bem.
Abraço.
Att;
Ola, Gilberto
Estou com o mesmo problema, porem com escript diferente.
Tenho 6 banco de dados e 2 nao fazem backup, verifiquei que os 2 bancos que nao fazem backup tem o ponto (.) no meio do nome: bd1.status e bd2.inicio, nao sei ao certo mas pelo que li em uma documentação mysql é que deve ser por causa do ponto entre os nomes.