Autor Tópico: conecção  (Lida 1747 vezes)

pessanha

  • Expert
  • *****
  • Mensagens: 643
    • Email
conecção
« Online: Maio 30, 2012, 03:11:21 pm »
Estou tentando conectar ao um servidor externo.

Apos instalar o sistema em na maquina local do cliente, eu preciso que o sistema faca uma coneccao no meu servidor (externo), então ao configurar esta
coneccao com o banco de dados, esta dando a seguinte mensagem:

Connection Error

mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication. Please use an administration tool to reset your password with the command SET PASSWORD = PASSWORD('your_existing_password'). This will store a new, and more secure, hash value in mysql.user. If this user is used in other scripts executed by PHP 5.2 or earlier you might need to remove the old-passwords flag from your my.cnf file

mysqlnd cannot connect to MySQL 4.1+ using the old insecure authentication. Please use an administration tool to reset your password with the command SET PASSWORD = PASSWORD('your_existing_password'). This will store a new, and more secure, hash value in mysql.user. If this user is used in other scripts executed by PHP 5.2 or earlier you might need to remove the old-passwords flag from your my.cnf file


Isto esta acontecendo somente com conecções externas...   Já tentei dar o reset no password, aproveitando as instruções, mas não esta funcionando. Alguem pode ajudar?
« Última modificação: Maio 30, 2012, 03:14:07 pm por pessanha »

saulobborges

  • Expert
  • *****
  • Mensagens: 1392
    • SGi Sistemas
    • Email
Re:conecção
« Responder #1 Online: Maio 30, 2012, 03:20:18 pm »
# A nova biblioteca mysqlnd necessita do uso do novo formato de password do MySQL em 41 bytes (MySQL 4.1′s newer 41-byte password format). Continuar usando o formato antigo de senha (de 16 bytes) fará com que o mysql_connect() e funções similares emitam o erro “mysqlnd cannot connect to MySQL 4.1+ using old authentication.“

Você precisa executar o seguinte comando no seu servidor mysql:

SET PASSWORD FOR 'usuario'@'host' = OLD_PASSWORD('senha');

Isso é segurança do servidor mysql, não tem nada haver com SC.

pessanha

  • Expert
  • *****
  • Mensagens: 643
    • Email
Re:conecção
« Responder #2 Online: Maio 30, 2012, 03:36:15 pm »
Muito obrigado pela ajuda !

Eu acabei de tentar este comando, mas nao sei se eu fiz corretamente. Estou usando phpAdmin, eu poderia rodar este comando atravez dele?

Caso sim,
eu fiz isto, mas não tive resultado.


saulobborges

  • Expert
  • *****
  • Mensagens: 1392
    • SGi Sistemas
    • Email
Re:conecção
« Responder #3 Online: Maio 30, 2012, 03:53:04 pm »
Pelo PhpMyAdmin acho que é nessa tela lá em Privilégios:



Preenche a senha e grava aí ele já altera o hashing, não tenho certeza!!

pessanha

  • Expert
  • *****
  • Mensagens: 643
    • Email
Re:conecção
« Responder #4 Online: Maio 30, 2012, 04:11:29 pm »
Minha situação é que o meu host não me dá esta opção.
Tentei dar um reset na minha senha, mas não teve efeito.

Se eu instalar o sistema no host, o mesmo funciona perfeito. O problema esta na conecção externa com o meu host (servidor).


saulobborges

  • Expert
  • *****
  • Mensagens: 1392
    • SGi Sistemas
    • Email
Re:conecção
« Responder #5 Online: Maio 30, 2012, 04:17:25 pm »
Sim essa mensagem só aparece em conexões externas mesmo. Olha só a tradução do final da mensagem:

"Isto irá armazenar um novo e mais seguro valor de hash em mysql.user. Se este usuário é usado em outros scripts executados pelo PHP 5.2 ou anterior pode ser necessário remover o sinalizador old-passwords do seu arquivo my.cnf".

Eu não tenho como entrar no my.cnf do meu server de onde estou mas se você conseguir entrar no seu procura essa flag no arquivo e comenta ela e faz um teste, porque o bloqueio acontece só em conexões externas mesmo.

pessanha

  • Expert
  • *****
  • Mensagens: 643
    • Email
Re:conecção
« Responder #6 Online: Maio 30, 2012, 04:31:44 pm »
Não sei como fazer, pq o meu acesso ao host, é usando o cpanel.
Tenho a opção de usar o phpAdmin versao 3.5

saulobborges

  • Expert
  • *****
  • Mensagens: 1392
    • SGi Sistemas
    • Email
Re:conecção
« Responder #7 Online: Maio 30, 2012, 04:57:24 pm »
Se você tentar acessar o banco por algum gerenciador tipo o Mysql-Front ou o Workbench te dá acesso?

pessanha

  • Expert
  • *****
  • Mensagens: 643
    • Email
Re:conecção
« Responder #8 Online: Maio 30, 2012, 05:20:44 pm »
Então,
entrei no phpAdmin, selecionei SQL e rodei o comando SET PASSWORD FOR 'usuario'@'host' = OLD_PASSWORD('senha');^
inclui a mesma senha anterior. Depois rodei o SELECT PASSWORD('senha') para ver o formato, mas continua a mesma coisa..

saulobborges

  • Expert
  • *****
  • Mensagens: 1392
    • SGi Sistemas
    • Email
Re:conecção
« Responder #9 Online: Maio 30, 2012, 05:45:03 pm »
Lá no CPanel você liberou esse banco dando permissões de acesso externo?

Ir lá em host e colocar "%" na opção de host pra que seja possível o acesso externo?

John L. Santos

  • Bug Tracker Team
  • Administrator
  • Expert
  • *****
  • Mensagens: 595
    • Email
Re:conecção
« Responder #10 Online: Maio 30, 2012, 05:46:37 pm »
Verifique este link em nossa base de conhecimento que mostra como habilitar o seu banco de dados para acesso remoto.

http://knowledge.netmake.com.br/article-319.html
John L. Santos
NetMake - Soluções em Informática

pessanha

  • Expert
  • *****
  • Mensagens: 643
    • Email
Re:conecção
« Responder #11 Online: Maio 30, 2012, 06:08:07 pm »
Eu consigo acessar o meu host pelo phpAdmin, mas não estou conseguindo alterar.