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!
Até sexta-feira (26/02/2010) meu xampp estava funcionando direitinho, ou seja, meu apache e mysql estavam sendo iniciados normalmente.
Hoje (01/03/2010) quando iniciei minha máquina e tentei startar meu serviço somente o apache funcionou, o mysql apresentou o seguinte aviso:
WARNING: terminating worker thread 1
MySQL started
alguem poderia me ajudar?
já tentei reiniciar minha máquina e nada foi modificado.
obrigado desde já.
>
Já tentou reinicializar a máquina para ver?
Você não alterou nenhum diretório de lugar? Você não instalou nada que utilize a porta 3306???
Já reiniciei a máquina sim e o mysql continua sem funcionar.
A porta 3306 esta livre, eu coloco la no xampp e clico em port-check e ele diz q a porta 3306 esta free.
Alguem pode ajudar?
ainda nao encontrei nenhuma solução.
É pessoal... tive que instalar novamente mesmo.
copiei a pasta xampp toda e instalei denovo e depois so copiei os arquivos pra dentro da pasta nova, está tudo funcionando novamente.
valeu pela ajuda.
grato
O que eu achei mais estranho foi que você disse que não havia feito nada e que antes estava funcionando perfeitamente.
Pode ser algum problema no HD???
Você usa Ruwindows ou Linux?
>
O que eu achei mais estranho foi que você disse que não havia feito nada e que antes estava funcionando perfeitamente.
Pode ser algum problema no HD???
Você usa Ruwindows ou Linux?
Valeu Shrek-BH!
cara, eu uso o super Ruwindows Vista. :D
descobri qual era o problema...
tenho uma base de dados rodando em um servidor linux e la temos o MySQL 4.1. Então,
eu fiz um dump da base de dados e trouxe o arquivo.sql pra minha máquina local (que roda windows e MySQL 5).
O problema é quando tento importar essa base de dados (mysql -h localhost -u "usuario" -p "base de dados" < arquivo.sql)
ele ate começa a importar normal, mas depois de um tempo da um erro: ERROR 2006 (HY000) at line <linha>: MySQL server has gone away
Depois disso o MySQL nao starta mais.
é isso ai... se puder me ajudar para eu conseguir importar esse arquivo.sql sem dar erros agradeço.
valeu
Há, agora tá explicado!!! risos
Aqui, como que você tá gerando esse dump da sua base de dados?
>
Há, agora tá explicado!!! risos
Aqui, como que você tá gerando esse dump da sua base de dados?
eu to gerando da seguinte forma:
mysqldump -h localhost -u root -A | gzip > arquivo.sql.gz
com isso é gerado um arquivo zipado com o backup (isso no servidor linux), ai eu simplesmente copio pra minha máquina (windows vista), descompacto e tento importar com o comando:
mysql -h localhost -u root -p "base de dados" < "arquivo.sql"
ai ele começa a importar e depois da um erro:
ERROR 2006 (HY000) at line <linha>: MySQL server has gone away
é isso.
Justamente para uns casos assim eu criei uma função de backup, em PHP, que gera também um arquivo sql. Veja se resolverá o seu problema:
<?php
header('Pragma: no-cache');#No cache, ou seja, não guarda cache, pois é gerado dinamicamente
ini_set('memory_limit','128M');
date_default_timezone_set('America/Sao_Paulo');
include('../includes/conexao.php');
$arquivo=date('YmdHi');
$file = fopen($arquivo.'.sql','w');
$query1 = 'SHOW TABLES';
$resultado1 = mysql_query($query1, $conexao);
while ($item1 = mysql_fetch_array($resultado1))
{
echo $item1[0],'<br>'.chr(13);
$query2 = 'SHOW CREATE TABLE '.$item1[0];
$resultado2 = mysql_query($query2, $conexao);
$item2 = mysql_fetch_array($resultado2);
fwrite($file,$item2[1].';'.chr(13));
$query3 = 'SELECT * FROM '.$item1[0];
$resultado3 = mysql_query($query3, $conexao);
$sql='INSERT INTO '.$item1[0].' VALUES'.chr(13);
while ($item3 = mysql_fetch_row($resultado3))
{
$aux='';
for ($x=0;$x<count($item3);$x++)
{
$item3[$x]=str_replace("\'","'",$item3[$x]); //Para evitar erros na inclusão de campos com aspas simples (')
$item3[$x]=str_replace("'","\'",$item3[$x]);
if (substr($item3[$x],strlen($item3[$x])-1,strlen($item3[$x]))=="\\") //Verifica se tem a barra no final do texto, para não acontecer de ficar \', pois daria erro ao importar no MySql
$item3[$x]=str_replace("\\","\\\\",$item3[$x]);
$aux.="'".$item3[$x]."',";
}
$aux='('.substr($aux,0,strlen($aux)-1).'),'.chr(13);
if (strlen($sql)+strlen($aux)>51250)
{
$sql=substr($sql,0,strlen($sql)-2).';'.chr(13);
fwrite($file,$sql);
$sql='INSERT INTO '.$item1[0].' VALUES'.chr(13);
}
$sql.= $aux;
}
if (mysql_num_rows($resultado3)>0)
{
$sql=substr($sql,0,strlen($sql)-2).';'.chr(13);
fwrite($file,$sql);
}
}
fclose($file);
chmod($arquivo.'.sql',0777);
if (extension_loaded('zip'))
{
echo 'Zipando...';
$zip = new ZipArchive();
$zip->open($arquivo.'.zip',ZIPARCHIVE::OVERWRITE);
$zip->addfile($arquivo.'.sql');
$zip->close();
if (file_exists($arquivo.'.zip'))
unlink($arquivo.'.sql');
echo ' - Ok',chr(10);
}
?>
Se tiver alguma dúvida é só perguntar.
>
Justamente para uns casos assim eu criei uma função de backup, em PHP, que gera também um arquivo sql. Veja se resolverá o seu problema:
<?php
header('Pragma: no-cache');#No cache, ou seja, não guarda cache, pois é gerado dinamicamente
ini_set('memory_limit','128M');
date_default_timezone_set('America/Sao_Paulo');
include('../includes/conexao.php');
$arquivo=date('YmdHi');
$file = fopen($arquivo.'.sql','w');
$query1 = 'SHOW TABLES';
$resultado1 = mysql_query($query1, $conexao);
while ($item1 = mysql_fetch_array($resultado1))
{
echo $item1[0],'<br>'.chr(13);
$query2 = 'SHOW CREATE TABLE '.$item1[0];
$resultado2 = mysql_query($query2, $conexao);
$item2 = mysql_fetch_array($resultado2);
fwrite($file,$item2[1].';'.chr(13));
$query3 = 'SELECT * FROM '.$item1[0];
$resultado3 = mysql_query($query3, $conexao);
$sql='INSERT INTO '.$item1[0].' VALUES'.chr(13);
while ($item3 = mysql_fetch_row($resultado3))
{
$aux='';
for ($x=0;$x<count($item3);$x++)
{
$item3[$x]=str_replace("\'","'",$item3[$x]); //Para evitar erros na inclusão de campos com aspas simples (')
$item3[$x]=str_replace("'","\'",$item3[$x]);
if (substr($item3[$x],strlen($item3[$x])-1,strlen($item3[$x]))=="\\") //Verifica se tem a barra no final do texto, para não acontecer de ficar \', pois daria erro ao importar no MySql
$item3[$x]=str_replace("\\","\\\\",$item3[$x]);
$aux.="'".$item3[$x]."',";
}
$aux='('.substr($aux,0,strlen($aux)-1).'),'.chr(13);
if (strlen($sql)+strlen($aux)>51250)
{
$sql=substr($sql,0,strlen($sql)-2).';'.chr(13);
fwrite($file,$sql);
$sql='INSERT INTO '.$item1[0].' VALUES'.chr(13);
}
$sql.= $aux;
}
if (mysql_num_rows($resultado3)>0)
{
$sql=substr($sql,0,strlen($sql)-2).';'.chr(13);
fwrite($file,$sql);
}
}
fclose($file);
chmod($arquivo.'.sql',0777);
if (extension_loaded('zip'))
{
echo 'Zipando...';
$zip = new ZipArchive();
$zip->open($arquivo.'.zip',ZIPARCHIVE::OVERWRITE);
$zip->addfile($arquivo.'.sql');
$zip->close();
if (file_exists($arquivo.'.zip'))
unlink($arquivo.'.sql');
echo ' - Ok',chr(10);
}
?>
Se tiver alguma dúvida é só perguntar.
Muito bom o script Shrek!
Mas acho que o problema é de compatibilidade de versoes do MySQL.
Eu até tinha resolvido o problema como citado anteriormente,
mas quando reiniciei o sistema o erro de nao startar mais o MySQL apareceu novamente.
O que você acha? seré mesmo o problema de incompatibilidade do MySQL? já que no servidor roda o MySQL 4.1 e na minha máquina rodo o xampp com o MySQL 5.
Já fiz várias vezes o mesmo procedimento, mas sempre ocorre esse erro.
Será que tem alguma solução para essa incompatibilidade?
valeu pela ajuda.
Muito estranho, pois o script só recria as tabelas de um determinado database. Não era para travar e também não acredito que seja incompatibilidade entre as versões, pois tenho servidores rodando a versão 4.x, 5.x e até 6.0.10. Vivo usando esse script aí para copiar as databases entre eles.
Você já deu uma olhada no log???
>
Muito estranho, pois o script só recria as tabelas de um determinado database. Não era para travar e também não acredito que seja incompatibilidade entre as versões, pois tenho servidores rodando a versão 4.x, 5.x e até 6.0.10. Vivo usando esse script aí para copiar as databases entre eles.
Você já deu uma olhada no log???
Shrek - BH... esse script é apenas para fazer o backup?
O backup eu já consegui fazer, nao consigo eh importar o backup feito no MySQL 4.1 para meu servidor local MySQL 5.
é isso.
qq solução posta ai.
valeu
O script gera um backup de tudo que tem no database, tabelas e registros. Depois é só você executá-lo como você já estava executando mesmo:
mysql -uusuario -ppassword database <xxxxxxx.sql
>
O script gera um backup de tudo que tem no database, tabelas e registros. Depois é só você executá-lo como você já estava executando mesmo:
mysql -uusuario -ppassword database <xxxxxxx.sql
Ta dando os seguintes erros no script:
Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\backup\backup.php:1) in C:\xampp\htdocs\backup\backup.php on line 2
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\backup\backup.php on line 10
ele ainda gera um arquivo compactado sem nada.
valeu
Tira as 3 primeiras linhas do script e tenta executá-lo. Se funcionar, tenta restaurar o backup na outra máquina para ver.
E ainda esqueci de avisar que essa rotina funciona tanto no meu servidor windows quanto no Linux. Testa aí e veja se funcionará!
Abraços!
>
Tira as 3 primeiras linhas do script e tenta executá-lo. Se funcionar, tenta restaurar o backup na outra máquina para ver.
E ainda esqueci de avisar que essa rotina funciona tanto no meu servidor windows quanto no Linux. Testa aí e veja se funcionará!
Abraços!
Na máquina local (windows vista e xampp) funcionou legal com uma base de teste, mas quando rodei no servidor remoto deu avisos de permissão em todas as funções de manipulação de arquivos (fopen, fwrite).
Warning: fopen(201003041037.sql): failed to open stream: Permission denied in /home/www/backup/backup.php on line 8
album_foto
Warning: fwrite(): supplied argument is not a valid stream resource in /home/www/backup/backup.php on line 18
Warning: fwrite(): supplied argument is not a valid stream resource in /home/www/backup/backup.php on line 45
e foi listando esses erros até acabar... e nada foi criado.
é tipico problema de permissão, mas to rodando meu script php com usuário de banco root.
valeu
No diretório onde roda o script de backup o php precisa ter permissão de escrita nesse diretório.
>
No diretório onde roda o script de backup o php precisa ter permissão de escrita nesse diretório.
Ok!
O problema de permissao foi resolvido, mas ta dando um erro de tempo de execução:
Fatal error: Maximum execution time of 30 seconds exceeded in /home/www/backup/backup.php on line 29.
já tentei mudar a linha max_execution_time = 30 do arquivo php.ini, coloquei 60, mas mesmo assim da o mesmo erro.
Fatal error: Maximum execution time of 30 seconds exceeded in /home/www/backup/backup.php on line 29.
como esse erro ele so faz o backup até a metade, pois é muito grande a base de dados.
por hora é isso.
valeu
Já tentou reinicializar a máquina para ver?
Você não alterou nenhum diretório de lugar? Você não instalou nada que utilize a porta 3306???