Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

SinoP

[Resolvido] Conexão a banco on-line a partir de computador local

Recommended Posts

Bom dia.

Estou tentando criar um script em que conecto com meu banco de dados on-line e atualizo as informações pendentes com meu banco de dados off-line.

O primeiro problema já ocorreu na conexão.

 

Minha conexão esta da seguinte forma:

 

<?php
/*
$server1 ="localhost";
$user1="root";
$password1="";
$dbname1="nomedobancooffline";  
$banco_local = mysql_connect($server1,$user1,$password1);
$db_local = mysql_select_db($dbname1, $banco_local);
*/

$server2 ="mysql.dominioatual.com.br";
$user2="usuariodobancoonline";
$password2= "senhadobancoonline";
$dbname2="nomedobancoonline";  

$banco_remoto = mysql_connect($server2,$user2,$password2);
$db_remoto = mysql_select_db($dbname2, $banco_remoto);

if(!$banco_remoto){
$error = "Não foi possível atualizar o banco de dados!";
echo $error;
} else {
$error = "Conexão realizada com sucesso!";
echo $error;
}
?>

 

O erro que me retorna é o seguinte:

 

Warning: mysql_connect(): The server requested authentication method unknown to the client [mysql_old_password] in D:\wamp\www\pasta_do_cliente\realizaAcoes.php on line 16

 

Warning: mysql_connect(): The server requested authentication method umknown to the client in D:\wamp\www\pasta_do_cliente\realizaAcoes.php on line 16

 

Warning: mysql_select_db() expects parameter 2 to be resource, boolean given in D:\wamp\www\pasta_do_cliente\realizaAcoes.php on line 17

 

Ja tentei mudar o link "mysql.dominioatual.com.br" para o IP do banco MySQL, já tentei declarar a porta na frente do nome do servidor "mysql.dominioatual.com.br:3306" e também no IP do servidor, já tentei quase de tudo mas não tive sucesso.

Pesquisei na internet e todos ensinam liberar acesso remoto ao banco local ou on-line, mas não encontrei nenhum que fale sobre conectar ao banco on-line a partir de um pc local.

 

Obrigado a todos que ajudarem.

Se precisarem de mais alguma informação não exite em perguntar.

VLW

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso é uma dúvida de PHP não de MySQL amigo. Alguns provedores bloqueiam a conexão externa ao mysql. Verifique com seu provedor antes de mais nada se é possível fazer conexões externas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso é uma dúvida de PHP não de MySQL amigo. Alguns provedores bloqueiam a conexão externa ao mysql. Verifique com seu provedor antes de mais nada se é possível fazer conexões externas.

 

Boa tarde amigo.

Já liberei acesso a qualquer IP para o banco de dados em questão.

Consigo conectar nele apartir de outro site, mesmo o site estando em outro provedor, tenho um na kinghost e outro na locaweb, o que esta com banco de dados e acesso liberado esta na kinghost e consigo acessar com o arquivo PHP de conexão estando hospedado na locaweb.

Creio que seja dúvida de MySQL pois pelo que li em alguns tópicos torna-se necessária a configuração do mesmo para aceitar "old_password".

Posso estar falando bobagens mas estou aqui para aprender.

Se alguém puder me ajudar a entender do que se trata o erro "old_password" ficarei grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só ler o manual:

https://dev.mysql.com/doc/refman/5.5/en/old-client.html

 

Usar a função OLD_PASSWORD() pode solucionar o problema:

https://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html#function_old-password

 

Paz e bem!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só ler o manual:

https://dev.mysql.com/doc/refman/5.5/en/old-client.html

 

Usar a função OLD_PASSWORD() pode solucionar o problema:

https://dev.mysql.com/doc/refman/5.5/en/encryption-functions.html#function_old-password

 

Paz e bem!

 

Opa... muito obrigado.

Mas será que poderia me orientar melhor?

Abri o console do MySQL mas não consegui executar nenhuma das funções mencionadas.

 

SET PASSWORD FOR root@localhost = OLD_PASSWORD('123456');

Ele diz não existir dados na tabela user. Query OK, 0 rows affected.

 

Estou utilizando o WampServer.

 

Muito obrigado pela ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O erro que o MySQL me retorna é este:

 

Warning: mysql_connect(): The server requested authentication method unknown to the client [mysql_old_password] in D:\EasyPHP\www\realizaAcoes.php on line 16

Warning: mysql_connect(): The server requested authentication method umknown to the client in D:\EasyPHP\www\realizaAcoes.php on line 16

 

Ainda não consegui resultado na conexão...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui realizar a conexão com o banco!!!

O problema estava nas versões do PHP e do MySQL que devem ser iguais as do servidor.

 

A versão do PHP você consegue saber através do phpinfo.php (exitente na maioria dos servidores).

A versão do MySQL você consegue ver através do PHPMyADMIN ou no próprio Cpanel.

 

Coloquei as mesmas versões e tudo funcionou que é uma maravilha.

Obrigado a todos que ajudaram.

Fica a dica pra quem pesquisa pelo erro e não encontra nada no GOOGLE nem no Forum.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Note

The mysql extension does not support the authentication protocol in MySQL 4.1.1 and higher. This is true regardless of the PHP version being used. If you wish to use the mysql extension with MySQL 4.1 or newer, you may need to follow one of the options discussed above for configuring MySQL to work with old clients. The mysqli extension (stands for "MySQL, Improved"; added in PHP 5) is compatible with the improved password hashing employed in MySQL 4.1 and higher, and no special configuration of MySQL need be done to use this MySQL client library. For more information about the mysqli extension, see http://php.net/mysqli.

 

https://dev.mysql.com/doc/refman/5.5/en/old-client.html

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.