Fórum Zeos MySql5 Delphi7 rede #349704
27/11/2007
0
Tenho em minha empresa um servidor onde está rodando o mysql5 (WAMP), e atualmente estou desenvolvendo em delphi 7 no servidor.
Só que o sisteminha que to fazendo vai rodar em outras maquinas da rede acessando o mysql desse meu servidor... ai é que mora o problema...
Como faço pra que esse sistema que vai rodar nos outros pc´s acessem a base de dados do meu mysql ?
quais as opções que devo passar para conseguir conectar ?
Andei vendo que tenho que criar usuarios no mysql pra cada ´cliente´ do meu servidor, cheguei a criar um usuario dentro do meu servidor mysql, com os mesmos direitos do root. MAs no object inspector do componente Zconnection, nao consigo conectar :/. o mesmo dá a seguinte menssagem:
access danied for user ´PC001-Atend-BRV@localhost´ (using password: YES)
Digitei a senha correta e nada.
Outra: Localhost é o meu servidor... as maquinas da rede vao logar nesse localhost tb? creio que nao né ? Mas eu alterei o valor do campo Host no registro desse usuario aew pra o IP do meu servidor e mesmo assim nada.
Firewall já vi, já abri uma excessao pra o mysql porta 3306
Alguem pode ajudar nessa ?
Technos
Curtir tópico
+ 0Posts
27/11/2007
Massuda
Gostei + 0
27/11/2007
Junior-programador
Seguinte, para fazer as conexões, eu uso um arquivo ini, ao inves de fazer direto no connection do zeos, mas isso é simples
um detalhe importante, no software que roda na maquina onde está o mysql instalado, usa localhost como caminho e se coloca a senha e o usuario, que seria root root, mas as maquinas da rede, pelo menos aqui, eu nao coloco senha, somente o usuario, e funciona legal, ai claro, nas maquinas onde estara instalado os software, eu coloco o ip da maquina onde está instalada o mysql.
no arquivo ini, por ser mais facil, eu coloco o ip, usuario, e a senha deixo em branco, mas somente nas outras maquinas, na local eu coloco o localhost, e a senha, que seria root.
espero ter ajudado.
abracos
Gostei + 0
27/11/2007
Technos
To cismado com esse lance de ter que cadastrar o usuario no banco de dados...
tipo... como é uma coisa simples... vou modificar o usuario teste pra ele logar no ip do servidor.. ou seja, o Host vou colocar o ip do servidor pra ver no que dá
Gostei + 0
27/11/2007
Technos
Seguinte, para fazer as conexões, eu uso um arquivo ini, ao inves de fazer direto no connection do zeos, mas isso é simples
um detalhe importante, no software que roda na maquina onde está o mysql instalado, usa localhost como caminho e se coloca a senha e o usuario, que seria root root, mas as maquinas da rede, pelo menos aqui, eu nao coloco senha, somente o usuario, e funciona legal, ai claro, nas maquinas onde estara instalado os software, eu coloco o ip da maquina onde está instalada o mysql.
no arquivo ini, por ser mais facil, eu coloco o ip, usuario, e a senha deixo em branco, mas somente nas outras maquinas, na local eu coloco o localhost, e a senha, que seria root.
espero ter ajudado.
abracos[/quote:7b44fbad1c]
Vo testar pra ver no que dá. vlw amigo.
Gostei + 0
27/11/2007
Junior-programador
Gostei + 0
28/11/2007
Technos
Tipo, eu axava que tava funfanfo o projeto... pq eu compilava, e rodava o sistema numa boa na minha makina... ai fiz um ´teste´ botando o executavel do programa numa pasta no servidor e tentando rodar o sistema...
Resultado: Funcionou... ^^
Mas saca a bronca... fui colocar numa makina alheia... um notebook com wireless.
REsultado: Erro no sistema, o servidor mysql dizendo que o host localhost nao está liberado pra acessar o mysql.
Entao fui notar que eu tava rodando um Wamp na minha makina de desenvolvimento... por isso eu conseguia logar... mas era no meu wamp, nao no wamp do servidor onde vai ficar o executavel do programa.
Tipo, cadastrei um usuario na table users do mysql... liberei todos os acessos, o host desse registro coloquei o ip da makina que eu tava testando. mas mesmo assim o mysql nao me deixa rodar o sistema.
Por favor, alguem me de uma luz nisso :/
Gostei + 0
28/11/2007
Devmedia
Caro Technos.
Primeiramente, qual a mensagem de erro que o seu sistema está lhe retornando?
Segundo, quando voce faz um sistema utilizando qualquer acesso aos dados remotamente em outra máquina, oque acontece é que você terá que rediencionar o caminho da connexão até no caso, o IP desejado.
Oque lhe aconselho é que crie uma .DLL ou um arquivo. INI que irá ficar dentro da raiz do seu sistema em todas as distribuições que tiver. Ou seja, cada máquina que utilizar o programa terá que ter este arquivo dentro da sua pasta raiz.
Agora dentro deste arquivo, você irá armazenar os dados para configuração da connexão com o BD.
Com isto, toda distribuição que você fizer do programa irá se connectar automaticamente ao ´ SERVIDOR DOS DADOS ´, sendo assim não preciso de voce ter que ficar compilando vários programas, cada um com um caminho para connexão.
Um conselho:
Não utilize localhost como caminho de conexão. Evitando possíveis comflitos de rede.
Utilze o IP Fixo da Rede e no caso o do Servidor. Exemplo:
192.168.0.1
Ok?
Utilizo Delphi7 + dbExpress + MySQL 5.0
Estou desenvolvendo um connector ao meu sistema baseando na idéia que postei acima.
Dúvidas.
Att.
Gostei + 0
28/11/2007
Devmedia
Mais duas coisas.
Isto acontece porque voce deve ter configurado seu servidor MySQL como não público.
Oque agora deve fazer é liberar em casa máquina que connectar o IP dela no servidor.
Da uma olhada neste link do manual de referência do MySQL.
http://dev.mysql.com/doc/refman/4.1/pt/access-denied.html
Isto seguinifica que voce colocou dentro do servidor aonde está instalado o MySQL o seu projeto e todas as outras máquinas da rede irão conectar somente este projeto .EXE ???
Você não está fazendo assim, está?
Se Sim, isto é morte para seu sistema.
Particularmente eu não utilizo o users do MySQL.
Oque faço é dentro do BD do meu projeto, eu crio uma tabela ´senhas_de_acesso´ e nela eu atribuo os usuarios, senhas e permissões do projeto.
Att.
Gostei + 0
29/11/2007
Technos
A coisa é simples: Quero que o meu sistema que acessa um mysql server na rede, consiga logar no mesmo.
Criei um usuario dentro do server, defini que ele tem os mesmos direitos de acesso que o root (localhost) do servidor. Porém o host desse usuario que criei é o IP do servidor onde o mysql está instalado.
Onde está o erro nisso ?
Na boa pessoal, isso em FIREBIRD é mamão com açúcar. Não gostaria de ter que migrar meu sisteminha pra firebird por que nao consigo conectar ao servidor de dados.
Questão de segurança? Não preciso me importar com isso. o sistema nao tem nada de importante/critico que eu deva me importar com segurança. apenas quero botar o mesmo pra rodar.
Já criei um usuario na tabela users, registrei tb na tabela DB e nada.
to no aguardo.
O erro que tá dando é O HOst ´IP da maquina que tá querendo acessar o server´ is not allowed to conect to this mysql server.
Gostei + 0
29/11/2007
Massuda
Por exemplo: se Fulano trabalha/usa a máquina Estacao1, para poder acessar o MySQL você precisa informar username Fulano e host Estacao1. Do jeito que você fez, o usuário só consegue acessar o MySQL a partir da máquina onde o MySQL está instalado.
Gostei + 0
29/11/2007
Technos
Olhando por esse lado, vejo que tenho que cadastrar todos os usuários que vao acessar o meu sistema no mysql ?
Tipo:
Nome: Paulo
Estação:192.168.1.10
Nome: Maria
Estação:192.168.1.11
DAdos na tabela User do mysql
1 - Host: 192.168.1.10 user: paulo password: 123456 ...
2 - Host: 192.168.1.11 user: Maria password: 123456 ...
Dados na tabela Db do mysql
1 - host: 192.168.1.10 db: meubanco user: paulo ...
2 - host: 192.168.1.11 db: meubanco user: Maria ...
Estou indo certo na lógica de como a coisa funciona ?
Gostei + 0
29/11/2007
Massuda
Gostei + 0
29/11/2007
Technos
Hummm...
creio que estamos nos entendendo na linha de penssamento... o bom seria que alguem confirmasse essa informação que voce citou.
Alguem pode dar uma opnião a respeito ?
Oo
Gostei + 0
30/11/2007
Technos
Vou migrar esse meu sistema pra um banco que domino, e a julgar pelas particularidades, acho melhor que o Mysql. Voltando para o FIREBIRD :)
Vlw pessoal ^^
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)