conexao com bd mysql nas nuvens

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

bfinformatica
Usuário Nível 1
Usuário Nível 1
Mensagens: 9
Registrado em: 21 Mar 2017 20:57
Localização: toledo pr

conexao com bd mysql nas nuvens

Mensagem por bfinformatica »

Prezados, preciso disponibilizar meu bd mysql localhost em um servidor nas nuvens para acesso das filiais
e não estou conseguindo fazer rodar.

Alguém poderia me ajudar postando um exemplo de conexão.....

gratidão
Edison
Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

conexao com bd mysql nas nuvens

Mensagem por fladimir »

Não entendi Edison... ou melhor o q entendi é q vc tem um BD em MySQL localhost q já acessa etc... e agora quer colocar na nuvem e acessar é isso? Se sim primeiramente é upar para o Servidor da hospedagem e eles irão fornecer as informações de usuário e URL de conexão, exemplo usuário: root
Senha: vcdefinecomeles
URL Conexao com o Banco (endereço do banco):
mysql.dominiotaltal.com.br
Porta geralmente q eu saiba é a padrão 3306

Ai vc substitui na nos dados da tua conexão local por remota, onde esta localhost (127.0.0.1) coloca a URL (endereço do teu banco) etc

Seria essa sua dúvida ou entendi errado?
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar do usuário
Vlademiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 752
Registrado em: 11 Jul 2005 02:46

conexao com bd mysql nas nuvens

Mensagem por Vlademiro »

Supondo que o banco está em um computador dentro da empresa e que esse computador será acessado de fora da organização, basta configurar o MySql para receber conexões externas. Para fazer isso a forma mais fácil (na minha opinião) é através do phpMyAdmin. Lá você pode criar um usuário associado ao banco de dados e habilitar esse usuário a se conectar remotamente. Se não me engano a sintaxe seria assim :

usuario@ENDEREÇO IP

O link a seguir tem um tutorial detalhado : https://www.vivaolinux.com.br/dica/Conf ... ores-MySQL

Se é isso que você quer, então tem que configurar a segurança do servidor. O ideal é um servidor com o mínimo de serviços rodando.


Pode ser também que você queira alugar um serviço e instalar o mysql nele. Nesse caso eu recomendo a Amazon : https://aws.amazon.com/pt/rds/mysql/

Caso você queira testar a Amazon tem uma opção que você não paga nada, mas tem que informar o cartão de crédito e se você migrar para um plano com mais recursos você será cobrado por isso.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

conexao com bd mysql nas nuvens

Mensagem por JoséQuintas »

Vamos por partes.....

No MySQL:
Ao cadastrar o usuário, você define se poderá receber conexão local ou remota: usuario.* ou usuário.%, não lembro ao certo.
No MySQL é só isso.

Na máquina do MySQL:
Ela precisa aceitar a entrada da conexão, precisa liberar no firewall

No restante da rede:
A conexão vai entrar pelo modem/roteador. O modem/roteador precisa permitir essa conexão, e precisa direcionar à máquina aonde está o MySQL.

Lembre-se:
Se fosse simples, ou se não precisasse configurar nada, todo mundo poderia invadir qualquer rede/máquina.
Todo trajeto por onde passa a conexão MySQL pode precisar de configuração.
Se algum deles estiver bloqueando a conexão, não vai conseguir chegar ao MySQL.

Sugestões de teste:
- Primeiro teste local, ok, já fez.
- Agora teste a partir de outra máquina da rede, e ajuste configurações.
- Talvez o próximo passo já seja de rede externa

No geral a conexão usa nome do servidor, porta, usuário, senha.
Quando é local, é localhost, quando é remoto, pode ser suaempresa.no-ip.org ou outro endereço
Se usar a porta padrão assume 3306, senão tem que indicar o número.
E usuário/senha já sabe.

Quem vai receber a conexão é o modem/roteador, que vai direcionar pra máquina, que por sua vez é onde o MySQL atende.

Nota: não estranhe pouca gente lembrar disso, nem mesmo eu direito.... rs... é que a gente configura uma vez, e demora tanto pra precisar mexer que a gente esquece.... rs Temos sempre que pesquisar, ou procurar anotacões.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
bfinformatica
Usuário Nível 1
Usuário Nível 1
Mensagens: 9
Registrado em: 21 Mar 2017 20:57
Localização: toledo pr

conexao com bd mysql nas nuvens

Mensagem por bfinformatica »

entendi é q vc tem um BD em MySQL localhost q já acessa etc... e agora quer colocar na nuvem e acessar é isso?

exatamente isso!

De inicio fiz o procedimento do modo que você citou. Adquiri um endereço, loguin e senha

Ocorre que via sistema da erro e não conecta.

Ja pelo utilitário Woerkbanch acesso normalmente.

Estou com dificuldade de fazer a chamada do banco.
Avatar do usuário
fladimir
Colaborador
Colaborador
Mensagens: 2445
Registrado em: 15 Nov 2006 20:21

conexao com bd mysql nas nuvens

Mensagem por fladimir »

Poste como vc esta fazendo (código), logicamente troque conteúdo de usuário, URL e senha, apenas o código em si pra auxiliarmos.
Sun Tzu há mais de três mil anos cita nas epígrafes de seu livro “A Arte da Guerra“:

“Concentre-se nos pontos fortes, reconheça as fraquezas, agarre as oportunidades e proteja-se contra as ameaças”.
“Se não é vantajoso, nunca envie suas tropas; se não lhe rende ganhos, nunca utilize seus homens; se não é uma situação perigosa, nunca lute uma batalha precipitada”
.


Até 2017    Desktop Console [ Legado ] Harbour | MinGW | DBF | CDX | FastReport | MySQL


Novos Projetos:

   Desktop Visual           Windev Desktop
   Celular Android/iOS   Windev Mobile
   WEB                            Windev Web


Sejamos gratos a Deus.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

conexao com bd mysql nas nuvens

Mensagem por JoséQuintas »

Adquiri um endereço, loguin e senha
Por padrão, o MySql dos sites de hospedagem liberam acesso apenas pelos sites.
Liberou pra acesso "externo" ao site?
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
bfinformatica
Usuário Nível 1
Usuário Nível 1
Mensagens: 9
Registrado em: 21 Mar 2017 20:57
Localização: toledo pr

conexao com bd mysql nas nuvens

Mensagem por bfinformatica »

as bibliotecas

Código: Selecionar todos

#include 'minigui.ch'
#include 'adodb.ch'
#include 'xhb.ch'
*_______________________________________________________________________________
function Main()

........



Inicio da conexão com banco
*_______________________________________________________________________________
function conecta_bd()

         local web_server, web_database, web_user, web_password
         local local_server, local_database, local_user, local_password

*             WEB

         web_server   := ''
         web_database := ''
         web_user     := ''
         web_password := ''

*             LOCAL

         local_server   := ''
         local_database := ''
         local_user     := ''
         local_password := ''

       public oServer

       if alltrim(v_dbuser) == 'root'
          local_password := '123'
              web_password := 'senha112345@'
       else
          v_trede        := 'S'
          local_password := 'wiesen'
              web_password := 'senha112345@'
       endif

          local_database := 'db_sisfin'
            web_database := 'edisonnabilecom_db' // alltrim(setup->cl_banco)




         /*
             WEB
          */
            TRY
                 cnWEB := MySqlConnection(web_server,3306,web_database,web_user,web_password)

               cnWEB:Open()
               flagWEB := .T.

               setproperty('form_main','label_nome_usuario','value','CONECTADO')
               setproperty('form_main','label_nome_usuario','fontcolor',{4,255,67})

                criar_tabelas( 'cnWEB' )

            CATCH e
               setproperty('form_main','label_nome_usuario','value','NAO CONECTADO')
               setproperty('form_main','label_nome_usuario','fontcolor',{4,255,67})
               flagWEB := .F.
            END

         /*
             LOCAL
          */
            TRY

                cnLOCAL := MySqlConnection(local_server,3306,local_database,local_user,local_password)

              cnLOCAL:Open()
               flagLOCAL := .T.

               setproperty('form_main','label_nome_usuario','value','CONECTADO')
               setproperty('form_main','label_nome_usuario','fontcolor',{4,255,67})

               criar_tabelas( 'cnLOCAL' )
            CATCH e
               setproperty('form_main','label_nome_usuario','value','NAO CONECTADO')
               setproperty('form_main','label_nome_usuario','fontcolor',{4,255,67})
               flagLOCAL := .F.
            END



         return(nil)
*-------------------------------------------------------------------------------
function MySqlConnection( cServer, nPort, cDatabase, cUser, cPassword )

            local cnConnection

            cnConnection := win_OleCreateObject("ADODB.Connection")

         cnConnection:ConnectionString := "Driver={MySQL ODBC 3.51 Driver};Server=" + cServer + ";" + "Port=" + Ltrim( Str( nPort ) ) + ;
                  ";Stmt=;Database=" + cDatabase + ";User ID=" + cUser + ";Password=" + cPassword + ";Collation=latin1;UseCompression;"

            cnConnection:CommandTimeOut    := 120 //seconds
            cnConnection:ConnectionTimeOut := 120 //seconds

   return cnConnection
*-------------------------------------------------------------------------------
Editado pela última vez por Toledo em 21 Abr 2017 10:55, em um total de 1 vez.
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

conexao com bd mysql nas nuvens

Mensagem por Toledo »

Segue função que eu utilizo para conectar ao meu servidor na web:

Código: Selecionar todos

#xcommand TRY              => BEGIN SEQUENCE WITH {|__o| break(__o) }
#xcommand CATCH [<!oErr!>] => RECOVER [USING <oErr>] <-oErr->
#xcommand FINALLY          => ALWAYS
**************************************************************
function ConectaADO()
Local lConnect := .f.
Local cStr:= "Server=meusql.pctoledo.com.br;Driver={MySQL ODBC 3.51 Driver};dsn=;User=toledox;pwd=xxx000;database=toledo01;"
//User e pwd tem que estar cadastrado no servidor para ter permissao para acessar o BD (database)

oConx := TOleAuto():New("ADODB.Connection")
oConx:ConnectionString := cStr

TRY
   oConx:Open()
   lConnect := .T.
CATCH
   oConx := Nil
   Return .F.
END
//funcao retorna .T. (conectou) ou .F. (falha)
Return lConnect
Abraços
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Responder