[Cascavel-pm] DBI connect failed

Andre Carneiro andregarciacarneiro em gmail.com
Quinta Dezembro 6 09:02:32 PST 2012


Corrigindo o primeiro parágrafo: Normalmente, quando essa mensagem ocorre
comigo, é porque o client do mysql não está instalado, ou não consegue se
conectar no servidor mysql por muitos vários motivos possíveis. Então em
resumo faça o seguinte:

2012/12/6 Andre Carneiro <andregarciacarneiro em gmail.com>

> Normalmente, quando essa mensagem ocorre comigo, é porque não tem client
> do mysql não se conectou no servidor mysql. Os motivos podem ser muitos, e
> eu tô com preguiça. Então em resumo faça o seguinte:
>
> 1 - Verifique se os módulos DBI e DBD::mysql estão corretamente
> instalados. Não use 'force'! Esses módulos tem que instalar de boa;
> 2 - Verifique se os dados que você está passando para a conexão (host,
> usuario e senha) estão corretos;
> 3 - Verifique se o servidor mysql no host que você está tentando se
> conectar está com a instância do mysqld na lista de processos do seu S.O.
> Se estiver, faça um teste de conexão utilizando o comando mysql -u<usuario>
> -h<host> -p;
> 4 - Certifique-se que nenhum engraçadinho da infra adicionou regras de
> firewall sem lhe avisar(isso é bem mais comum do que parece);
> 5 - Se tudo mais falhar, chame um pai-de-santo! Brincadeira! Instale o DBI
> e o DBD::mysql do zero(sério!)
>
>
>
> Cheers!
>
>
>
>
> 2012/12/6 breno <oainikusama em gmail.com>
>
>> Oi Sammuel,
>>
>> Olha, considerando que o arquivo em questão contém justamente as
>> credenciais do seu banco, dizer que "só porque mudei o variavel.pl não
>> quer funcionar" não nos diz muito sobre o problema. De fato, erros do
>> tipo "Can't connect through local socket", até onde eu sei, estão
>> associadas à conexão com o banco em si, o que me leva a perguntar,
>> nessa ordem:
>>
>> 1) Pelo seu código, vc abre o arquivo de variáveis durante o runtime e
>> depois da chamada ao connect() da linha 277. Se isso procede, então
>> essas variáveis provavelmente não estão definidas antes, ou estão
>> definidas com valores diferentes do que você ou seu banco esperam.
>> Experimente colocar, na linha imediatamente anterior ao connect(),
>> isso aqui:
>>
>>    warn "[conectando] - banco: '$database_mysql', host: '$host_mysql',
>> usuario: '$username_mysql', senha: '$password_mysql'...\n";
>>
>> e confirme que os valores para conexão estão definidos corretamente.
>> Em outras palavras, o que quer que seja retornado nesse warn() deve
>> servir para você conectar no banco pela linha de comando, ou seja,
>> fazendo:
>>
>>   mysql $database_mysql -u$username_mysql -p$password_mysql -h $host_mysql
>>
>> (note ainda que estou falando dos valores retornados pelo warn(), não
>> dos valores que vc botou no 'variavel.pl')
>>
>> 2) O host onde está o mysqld é local ou remoto? Se for local, sua
>> variável $host_mysql está definida como 'localhost'?
>>
>> 3) o mysql está rodando na máquina? Experimente executar:
>>
>>    mysqladmin --socket=/var/lib/mysql/mysql.sock -u root -p status
>>
>> 4) O arquivo de socket está com as permissões necessárias?
>>
>> Espero que isso ajude!
>>
>> []s
>>
>> -b
>>
>> (obs: dito isso, acho importante frisar que essa forma de organização
>> de arquivos e dependências não é recomendada há mais de uma década,
>> quando fazer 'require' em arquivos .pl foi substituido por módulos com
>> namespace bem definido. Mais ainda, para armazenar configurações,
>> experimente usar algo como Config::Tiny ou Config::Any, ou ao menos a
>> receita 8.16 do Perl Cookbook: "Reading Configuration Files")
>>
>> (obs2: desculpe a demora para responder. Acabo olhando muito mais a
>> lista da brasil-pm, e a cascavel ficou escondida sem querer nas pastas
>> do email, só fui ver que tinha backlog agora)
>> _______________________________________________
>> Cascavel-pm mailing list
>> Cascavel-pm em pm.org
>> http://mail.pm.org/mailman/listinfo/cascavel-pm
>>
>
>
>
> --
> André Garcia Carneiro
> Software Engineer
> (11)982907780
>



-- 
André Garcia Carneiro
Software Engineer
(11)982907780
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/cascavel-pm/attachments/20121206/5fb7b62d/attachment-0001.html>


Mais detalhes sobre a lista de discussão Cascavel-pm