Jump to content
garfield

dúvida a ligar a uma base de dados num ip diferente

Recommended Posts

garfield

olá a todos :D

eu tenho uma base de dados num servidor e queria aceder através de um ip diferente, mas aparece "acesso negado" :P alguém sabe o que está acontecer para não dar?

o código php que eu tenho é este

...

// Efectua a conexão ao servidor

@$conexao=mysql_pconnect("195.00.00.000", "teste", "12345");

if (!$conexao) {

  echo 'Não foi efectuada a ligação. Tente de novo';

  exit;

}

//Escolher a base de dados pretendida

mysql_select_db('teste');

...

Share this post


Link to post
Share on other sites
djthyrax

O MySQLd nesse servidor não está configurado para receber pedidos com esse IP.


Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!

Share this post


Link to post
Share on other sites
garfield

desde já obrigado pela resposta :D

sabes como é que posso fazer para configurar? eu não faço ideia de como é k isso se faz :P

Share this post


Link to post
Share on other sites
djthyrax

Isso é na configuração do MySQL e não do PHP.


Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!

Share this post


Link to post
Share on other sites
garfield

pois... vou então ver se descubro como é que posso configurar :P e mais uma vez obrigado.

Share this post


Link to post
Share on other sites
garfield

surgiu outra dúvida depois de conseguir configurar os privilégios da base de dados my sql.

(espero que esteja a por o post no sitio correcto, porque sou nova a utilizar foruns 😳 )

eu tenho este código em php para poder efectuar registo de um novo utilizador na base de dados que está no outro ip

<?php

// Permite às variáveis receber os valores introduzidos no formulário

$nome=$_POST["nome"];

$password=$_POST["password"];

//$_SESSION['nome']=$row['nome'];

$nome = trim($nome);

$password = trim($password);

$nome = addslashes($nome);

$password = addslashes($password);

// Efectua a conexão ao servidor

@$conexao=mysql_pconnect("194.000.00.000", "teste", "");

if (!$conexao) {

  echo 'Não foi efectuada a ligação. Tente de novo';

  exit;

}

//Escolher a base de dados pretendida

mysql_select_db('teste');

//Efectua consulta a base de dados

$result=mysql_query("SELECT * FROM utilizador WHERE nome='".$nome."' AND password='".$password."'");

$num_rows = mysql_num_rows($result);

if ($num_rows==1):

    echo session_id();

$_SESSION['nome']=$nome;

if(isset($_SESSION['nome'])){

echo "<br> Seja bem vindo ".$_SESSION['nome'];

}

echo "<br> <a href=\"verificarlogin.php\">  </a>";

else:

print " Login não é válido";

endif;

mas estão a aparecer estes erros

Warning: mysql_select_db() [function.mysql-select-db]: Access denied for user 'portugal'@'localhost' (using password: NO) in /home/portugal/public_html/teste/registar.php on line 39

Warning: mysql_select_db() [function.mysql-select-db]: A link to the server could not be established in /home/portugal/public_html/teste/registar.php on line 39

Warning: mysql_query() [function.mysql-query]: Access denied for user 'portugal'@'localhost' (using password: NO) in /home/portugal/public_html/teste/registar.php on line 42

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/portugal/public_html/teste/registar.php on line 42

Ocorreu um erro. Tente novamente o seu registo. Obrigado

Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource in /home/portugal/public_html/teste/registar.php on line 52

mas se eu tiver a base de dados e o código php no mesmo servidor funciona correctamente, alguém sabe o que está a acontecer? (peço desculpa pelo tamanho 😳 do post)

Share this post


Link to post
Share on other sites
djthyrax

O que me quer parece é que estás  a ligar-te mal à base de dados. Isso deve precisar de password, e eu não a vejo lá.


Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!

Share this post


Link to post
Share on other sites
Neptune(o verdadeiro)

Já utilizei uma base de dados extra e utilizei este tipo de code

$conectar = mysql_connect('ip:porta', 'bd', 'pass');
if (!$conectar)
{
die('Não foi possível ligar à base de dados!');
}

resto do code

.
.
.

resto do code

mysql_close($conectar);}

Share this post


Link to post
Share on other sites
garfield

O que me quer parece é que estás  a ligar-te mal à base de dados. Isso deve precisar de password, e eu não a vejo lá.

no mySQL não é possível fazer uma ligação à base de dados sem password?

Share this post


Link to post
Share on other sites
garfield

Já utilizei uma base de dados extra e utilizei este tipo de code

$conectar = mysql_connect('ip:porta', 'bd', 'pass');
if (!$conectar)
{
die('Não foi possível ligar à base de dados!');
}

resto do code

.
.
.

resto do code

mysql_close($conectar);}

eu vou então experimentar colocar o ip e a porta, juntamente com a password.

desde já obrigado aos dois (tirácio e Neptune(o verdadeiro) ) pela ajuda;)

Share this post


Link to post
Share on other sites
garfield

Erm.. Só se está configurado sem password.. Senão era uma alegria :D

pois eu criei a base de dados mysql sem password, mas continuo a não conseguir aceder ;)

Share this post


Link to post
Share on other sites
Dumpster

pois eu criei a base de dados mysql sem password, mas continuo a não conseguir aceder ;)

Estás a ligar-te pela porta certa? O IP é local? Tens o nome da BD certo? Que tipo de erro te é mostrado?

Para além disso não vejo porque não haverias de conseguir..

Pela via das dúvidas mostra-me o teu código actual (e não te esqueças de usar o Geshi! :D )

Share this post


Link to post
Share on other sites
garfield

Estás a ligar-te pela porta certa? O IP é local? Tens o nome da BD certo? Que tipo de erro te é mostrado?

Para além disso não vejo porque não haverias de conseguir..

Pela via das dúvidas mostra-me o teu código actual (e não te esqueças de usar o Geshi! :D )

desde já queria agradecer a ajuda  ;)

o código que tenho para a ligação é este

if ($password==$conf_password) {

  @$conexao=mysql_pconnect("194.110.00.000:3306", "teste", "");

if (!$conexao){

    echo "Não foi efectuada ligação. Tente de novo";

}

mysql_select_db('teste');

eu acho que a porta está correcta, a base de dados é a teste e não tenho password.

os erros são estes na mesma

Não foi efectuada ligação. Tente de novo

Warning: mysql_select_db() [function.mysql-select-db]: Access denied for user 'portugal'@'localhost' (using password: NO) in /home/portugal/public_html/teste/registar.php on line 39

Warning: mysql_select_db() [function.mysql-select-db]: A link to the server could not be established in /home/portugal/public_html/teste/registar.php on line 39

Warning: mysql_query() [function.mysql-query]: Access denied for user 'portugal'@'localhost' (using password: NO) in /home/portugal/public_html/teste/registar.php on line 42

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/portugal/public_html/teste/registar.php on line 42

Ocorreu um erro. Tente novamente o seu registo. Obrigado

Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource in /home/portugal/public_html/teste/registar.php on line 52

Share this post


Link to post
Share on other sites
Dumpster

Adicionaste permissões nesse outro servidor de forma a permitir acesso "externo" a essa bd? Esse Access denied diz-me que não ;)

Ou isso, ou tem password e não sabes o.o (mas se dizes que não, leva-me à outra conclusão xP)

Share this post


Link to post
Share on other sites
garfield

eu adicionei as permissões no servidor onde tenho a base de dados para todos poderem aceder

já não entendo nada :wallbash: tenho que ver bem isso 😳

Share this post


Link to post
Share on other sites
Dumpster

O.o

Hmm.. epah.. as conclusões que eu tiro são:

- Possivel typo no IP? É mesmo 194.110.00.000 ?

- A porta está aberta?

- Os 2 computadores fazem mesmo parte da mesma rede?

E um conselho.. não uses muito o mysql_pconnect ;)

Share this post


Link to post
Share on other sites
garfield

O.o

Hmm.. epah.. as conclusões que eu tiro são:

- Possível typo no IP? É mesmo 194.110.00.000 ?

- A porta está aberta?

- Os 2 computadores fazem mesmo parte da mesma rede?

E um conselho.. não uses muito o mysql_pconnect :D

-não o ip correcto é 194.117.15.100 (mas é este que eu estou a colocar no php) mas eu para conseguir aceder ao phpMyAdmin tenho que colocar outro ip ( que pelo que me foi dito só funciona quando estou na mesma rede ;) )

-a porta está aberta

- os dois computadores não fazem parte da mesma rede

tens alguma sugestão melhor que o mysql_pconnect (é que eu não conheço outro) 😳

Share this post


Link to post
Share on other sites
Dumpster

Eu também não me consigo conectar-me a esse ip.. bem, escusas de pôr a porta o.o

Parece-me que não é necessário lol ;)

E bem.. Como é que tens o MySQL instalado exactamente nesse outro PC? De raiz?

E sim, o mysql_connect(), toma os mesmos parametros (server, username, password) como obrigatorios.

A diferença é que pelo mysql_pconnect tu tens uma ligação "persistente", ou seja, ele abre uma ligação que não se fecha, e depois quando se for ligar de novo, procura essa mesma ligação.

Eu recomendo o uso do mysql_connect() e quando já não necessitares mais de usá-la mysql_close() que toma por parâmetro a handle da ligação.

Porquê? Para não haver um "overflow" de ligações (é improvável, mas pronto, :D )

Share this post


Link to post
Share on other sites
garfield

Eu também não me consigo conectar-me a esse ip.. bem, escusas de pôr a porta o.o

Parece-me que não é necessário lol :)

E bem.. Como é que tens o MySQL instalado exactamente nesse outro PC? De raiz?

E sim, o mysql_connect(), toma os mesmos parametros (server, username, password) como obrigatorios.

A diferença é que pelo mysql_pconnect tu tens uma ligação "persistente", ou seja, ele abre uma ligação que não se fecha, e depois quando se for ligar de novo, procura essa mesma ligação.

Eu recomendo o uso do mysql_connect() e quando já não necessitares mais de usá-la mysql_close() que toma por parâmetro a handle da ligação.

Porquê? Para não haver um "overflow" de ligações (é improvável, mas pronto, :) )

Pois... eu nunca usei a porta com o ip, mas como trabalho com php à pouco tempo, ponho sempre todas as hipoteses :D

O  MySQL está instalado de raiz no servidor (que é outro pc).

obrigado pela ajuda e pela explicação/ sugestão em relação ao mysql_pconnect()  ;)

Share this post


Link to post
Share on other sites
Dumpster

Pois.

Perguntei isso porque como dizes, és nova na área, e talvez tivesses a usar o Wamp, o easyPHP, ou algo do género ;)

Epah, eu não vejo nada de mal no script, e se dizes que fizeste tudo como disseste..

Double check a configuração, etc.

Reinstala se necessário com uma configuração mais atenta..

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.