Mysql em rede

Delphi

27/05/2003

Olá pessoal!

Estou tentando colocar um programa feito com delphi 6, usando DbExpress para acessar uma banco MySQL, utilizo uma rede com 4 máquinas em Windows 98, gostaria de saber como devo fazer para configurar o meu servidor e as máquinas clientes para que minha aplicação funcione.

Obrigado!

PS: Já coloquei essa mensagem 7 vezes.


E_marcello

E_marcello

Curtidas 0

Respostas

Vinicius2k

Vinicius2k

27/05/2003

Marcello,
1 : a sua rede tem q usar protocolo TCP/IP. tem q ser com IP fixo, no caso do Win 98 pq não tem servidor DHCP.
2 : a lista de ´params´ do(s) componente(s) SQLConnection quem que ter o nome do Banco de Dados e o nome do Servidor (máquina em q o MySQL estiver rodando), provavelmente isto já deve estar correto, pois senão o seu sistema não funcionaria nem como local.

Acredito q se não estiver funcionando deva ser pq sua rede eh NetBeui... pra usar o MySQL tem q ser TCP/IP.

Se a resposta não tiver ajuda, seja um pouco mais específico q talvez eu possa ajudar.


GOSTEI 0
E_marcello

E_marcello

27/05/2003

Caro amigo agradeço pela resposta!

Minha rede já é TCP/IP

A minha aplicação funciona local. O que gostaria de saber é que arquivos eu devo levar para máquina do cliente e como apontar para o meu banco de dados que está na máquina servidora.


GOSTEI 0
Rosivaldo

Rosivaldo

27/05/2003

Veja só Marcelo... Se você tá usando o DBExpress para acessar os dados, só precisa configurar no programa o IP do servidor com o MySQL, e levar para as máquinas clientes o programa (claro!!) e a dll do MySQL.

Fora isso não precisa mais nada... deve funcionar


GOSTEI 0
Luizf2

Luizf2

27/05/2003

Marcelo,

Acredito que, se você configurar o Host do SQLConnection com o ´nome´ do Servidor onde está o MySQL, funcionará.

[]´s

Luiz Fernando


GOSTEI 0
E_marcello

E_marcello

27/05/2003

Pessoal já tentei fazer o que vocês me indicaram e não funciona.

Por último fiz o seguinte:

Instalei o MYSQL na máquina cliente, com o intuito de testar, e criei a base de dados nela, o programa funcionou, porém quando retirei o MySQL e tentei acessar o programa novamente ele dá o seguinte erro: erro DBX: Nome de usuário/senha inválido.

O que posso fazer?


GOSTEI 0
Vinicius2k

Vinicius2k

27/05/2003

Marcelo,
Complementando a dica do amigo Rosivaldo, vc precisa ter na máquina cliente (windows\system) as DLLs ´libmysql.dll´, ´dbexpmys.dll´ e ´midas.dll´, essa última apenas se sua aplicação estiver utilizando TClientDataSet... apontar o ´hostname´ do SQLConnection com o nome ou o IP da máquina servidora e pronto.


GOSTEI 0
E_marcello

E_marcello

27/05/2003

Coloquei as dll´s no c:\Windows\system e mesmo assim não funcionou. Continua dando o mesmo erro.


GOSTEI 0
Luizf2

Luizf2

27/05/2003

Marcelo,

Em vez de usar a DLL ´dbexpmys.dll´ tente usar a ´dbexpmysql.dll´.

[]´s

Luiz Fernando


GOSTEI 0
Luizf2

Luizf2

27/05/2003

Marcelo,

Em tempo, não esqueça de alterar a DLL na propriedade ´LibraryName´,
do componente SQLConnection, para ´dbexpmysql.dll´.

[]´s

Luiz Fernando


GOSTEI 0
Vinicius2k

Vinicius2k

27/05/2003

se entendi bem o problema eh usuário/senha???
verifique a propriedade loginprompt do SQLConnection... se em ´params´ vc não especificar o usuário e a senha a propriedade loginprompt deve ser true...


GOSTEI 0
Rosivaldo

Rosivaldo

27/05/2003

Marcelo, uma coisa... como está as permissões de usuário/host no servidor MySQL. A política de segurança do MySQL permite que você bloqueie um usuário pelo host dele.

Para aceitar conexões vindas de qualquer host você deve fazer o seguinte no prompt do mysql... (lembre-se de selecionar o banco mysql)
[b:6dbe7d595e]update user set host=´¬´ where user=´usuario´[/b:6dbe7d595e]
ou então...
[b:6dbe7d595e]update user set host=´classe.da.rede.¬´ where user=´usuario´[/b:6dbe7d595e]

isso deve funcionar se eu não estiver enganado...


GOSTEI 0
E_marcello

E_marcello

27/05/2003

Olá pessoal!

Agradeço a voês pelas respostas. Mas fiz o que vocês me disseram e não funcionou.

1. Eu já estava usando a dbexpmysql.dll

2. Em relação a outra dica eu estava especificando no params o usuario e a senha, mas mesmo assim coloquei o login prompt para true, quando tentei acessar na máquina cliente ele me pediu o login e a senha e eu informei, mas depois disso ele deu o mesmo erro Dbx: Usuário/senha inválido.

3. Em relação a dica de rosivado fiz o seguinte: Entrei no prompt do DOS e no diretório MySql digitei mysql.exe, depois dei o comando use bn (que é a base de dados) e por fim coloquei o comando update user set host=´¬´ where user=´usuario´ .

Mesmo fazendo tudo isso não funcionou.

Será que vocês têm mais alguma dica?


GOSTEI 0
Rosivaldo

Rosivaldo

27/05/2003

3. Em relação a dica de rosivado fiz o seguinte: Entrei no prompt do DOS e no diretório MySql digitei mysql.exe, depois dei o comando use bn (que é a base de dados) e por fim coloquei o comando update user set host=´¬´ where user=´usuario´ .


Marcelo... você tem que fazer isso escolhendo o banco mysql. Esse é o banco que ficam as permissões do servidor.

[b:caa1b40665]
use mysql;
update user set host=´¬´ where user=´usuario´
[/b:caa1b40665]

Ve se funciona, ok?


GOSTEI 0
E_marcello

E_marcello

27/05/2003

Pessoal será que o fato de a rede ser Windows 98 é que está atrapalhando essas configurações?


GOSTEI 0
Czapelini

Czapelini

27/05/2003

Olá Amigo...
Por acaso vc consegui resolver seu problema?
Eu estava conectando normal com Win 98, atualizei para win2000 e não estou mais conseguindo.
Já coloquei as dlls atualizadas na pasata system32 e nada... O mesmo erro que o seu : invalid Username/password.

Se puderes ajudar te agradeço.


GOSTEI 0
POSTAR