Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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
>
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.
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!
>
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.
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...
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.
>
NoteThe 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.
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.