conecção

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:

[i][b]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[/b][/i]

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?

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.

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.

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!!

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).

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.

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

Se você tentar acessar o banco por algum gerenciador tipo o Mysql-Front ou o Workbench te dá acesso?

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…

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?

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

Eu consigo acessar o meu host pelo phpAdmin, mas não estou conseguindo alterar.