Mysql em rede
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.
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
Curtidas 0
Respostas
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.
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
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.
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
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
Fora isso não precisa mais nada... deve funcionar
GOSTEI 0
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
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
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?
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
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.
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
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
27/05/2003
Marcelo,
Em vez de usar a DLL ´dbexpmys.dll´ tente usar a ´dbexpmysql.dll´.
[]´s
Luiz Fernando
Em vez de usar a DLL ´dbexpmys.dll´ tente usar a ´dbexpmysql.dll´.
[]´s
Luiz Fernando
GOSTEI 0
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
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
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...
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
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...
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
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?
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
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
27/05/2003
Pessoal será que o fato de a rede ser Windows 98 é que está atrapalhando essas configurações?
GOSTEI 0
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.
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