Autore Topic: utilizzo di mysql  (Letto 949 volte)

Offline doublemm

  • Maestro Gambero
  • ****
  • Post: 445
    • Mostra profilo
utilizzo di mysql
« il: 14 Aprile 2013, 16:16:09 »
Salve a tutti, volevo capire voi come affrontate i db. Attualmente io sto lavorando con 2 gestionali diversi. Il primo è utilizzato da una persona sola quindi ho optato per un db.sqlite residente nella path del programma, il programma in questo caso è molto veloce. Il secondo caso è di un db mysql l'esigenza è quella di far lavorare più persone da postazioni diverse anche fuori rete locale ho provato 2 strade la prima adibire un pc a server mysql dotarlo di un dyndns a cui tutti i client puntano e la seconda di appoggiarmi ad un hosting mysql dove ho creato il mio db (sinceramente non sono molto contento perchè non posso scegliere il nome del db e non posso creare utenti) comunque in tutti e 2 i casi l'accesso al db è molto lento ed ogni volta che eseguo una query aspetto più o meno 5 secondi per il risultato. Volevo sapere voi come fate o fareste per sapere se c'è una soluzione migliore. Grazie
Matteo DoubleMM Mion

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.484
    • Mostra profilo
Re: utilizzo di mysql
« Risposta #1 il: 14 Aprile 2013, 18:56:51 »
la lentezza è dovuta alla necessita di lavorare fuori rete locale....

altrimenti in rete locale è molto veloce,

purtroppo non mi vengono in mente altre possibilità oltre quelle che hai provato, anche se 5 secondi mi sembra stranamente eccessivo

Offline doublemm

  • Maestro Gambero
  • ****
  • Post: 445
    • Mostra profilo
Re: utilizzo di mysql
« Risposta #2 il: 14 Aprile 2013, 19:51:42 »
adesso provo a fare una verifica stampando il tempo prima e dopo la query
Matteo DoubleMM Mion

Offline allegfede

  • Gran Maestro dei Gamberi
  • *****
  • Post: 738
    • Mostra profilo
Re: utilizzo di mysql
« Risposta #3 il: 15 Aprile 2013, 12:53:57 »
il problema sta' anche nel fatto che mysql non apprezza molto le connessioni fuori da "localhost".

Se puoi crea una connessione a mysql utilizzando un tunnel ssh (su internet troverai sicuramente delle guide).
Se uno ei tuoi client e' sempre acceso oppure e' il client principale, puoi far lavorare la stessa macchina come server sql (l'altro client si connettera' alla macchina del primo client).

In questo modo risparmi un PC, non necessiti di una connessione verso internet per pescare i dati dal DB ed il client principale avvede velocemente al server locale.

Inoltre ti suggerisco di fare tutti gli accessi al db insieme per quel che possibile.

ovvero:
apri la connessione
interogazione 1
interrogazione2
edit tabelle
immissione dati
etc
etc.
chiudi connessione

invece di
apri connessione
interrogazione1
chiudi connessione

apri connessione
interrogazione2
chiudi connessione

apri connessione
edit tabelle
chiudi connessione

....

eviti l'overhead della creazione della connessione :D
se corri, morirai stanco (motto degli sniper)

Offline doublemm

  • Maestro Gambero
  • ****
  • Post: 445
    • Mostra profilo
Re: utilizzo di mysql
« Risposta #4 il: 16 Aprile 2013, 19:24:58 »
@alegfede
Ciao, grazie delle info. Vorrei fare una prova con il tunnel ssh ma non ho esperienza. Ho dato una letta veloce, mi dai una mano a capire? Attualmente ho 2 macchine con installato ssh. Su tutte e due ho mysql workbench. Su una (quella che farà da serve) ho creato il db ed ho fatto una prova mi sono collegato dal client con tcp/ip. Vorrei collegarmi dal client tramite tunnel. cosa devo impostare nel server? e dove trovo le informazioni da inserire nei parametri del client? Devo aprire la porta 22 verso il server?
Matteo DoubleMM Mion

Offline allegfede

  • Gran Maestro dei Gamberi
  • *****
  • Post: 738
    • Mostra profilo
Re: utilizzo di mysql
« Risposta #5 il: 17 Aprile 2013, 12:09:50 »
se corri, morirai stanco (motto degli sniper)

Offline doublemm

  • Maestro Gambero
  • ****
  • Post: 445
    • Mostra profilo
Re: utilizzo di mysql
« Risposta #6 il: 17 Aprile 2013, 15:25:22 »
sto provando ma con scarsi successi. Non capisco cosa devo fare sul server per aprire il tunnel. Quando provo a collegarmi dal client mi chiede una pass bisogna crearla quando si apre il tunnel lato server?
Matteo DoubleMM Mion

Offline allegfede

  • Gran Maestro dei Gamberi
  • *****
  • Post: 738
    • Mostra profilo
Re: utilizzo di mysql
« Risposta #7 il: 18 Aprile 2013, 13:06:00 »
ora non ricordo bene ... ma sicuramente ti serve la pass d'accesso di ssh (quella di un utente reale creato sulla macchina server) e poi necessiterai di una pass (ma sara' nel codice del tuo programma) per l'accesso al DB ....
se corri, morirai stanco (motto degli sniper)