Autore Topic: Mysql in Rete  (Letto 1207 volte)

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re: Mysql in Rete
« Risposta #15 il: 20 Settembre 2010, 22:02:53 »
inoltre mi serve su hd esterno in quanto posso montarlo in una minicassaforte o armadio blindato.

Questi sono i problemi di quando si lavora all'FBI....:rotfl:

FBI? e chi sono quei pivelli?, noi siamo molto più in alto e più Importanti, noi siamo SPD.
Sfruttamento Poveri Disperati. (il disperato sono io  :'( :'().

a parte gli scherzi, ci sono stati molti furti nella zona, e spesso si sono portati via pc e stampanti, ora tutto il parco hardware vale si e no 3/4 mila €.
La perdita dei dati è incalcolabile, non solo per il povero sottoscritto, che dovrà fare varie nottatacce per recuperare, ma anche per l'azienda, che nel caso di divulgazione dei dati potrebbe essere denunciata dai cliente per violazione della privacy.

@Golia
in effetti ho ordinato un HD che il venditore mi ha detto che loro già lo usano come server e che si possono configurare anche utenti, non so ancora come funziona ma appena arriva male che va lo smonto e lo monto sotto un pc, dopo che ho installato ubuntu senza password ci carico MySql.

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Mysql in Rete
« Risposta #16 il: 21 Settembre 2010, 15:40:06 »
In MySQL, quando crei il database, puoi indicargli quale tablespace usare, e nel tuo caso, su quale disco.

Basta che tu monti la partizione del disco (opportunamente formattata, ovviamente), in una determinata e precisa directory, su cui mysql punta il suo db.
E' sottinteso che la partizione deve essere presente prima che mysql venga avviato, ma questo non credo sia un problema, se il mount lo fai gestire dal sistema, inserendo gli opportuni parametri in fstab.

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re: Mysql in Rete
« Risposta #17 il: 21 Settembre 2010, 19:37:29 »
@md9327
Quindi non dovrebbe essere difficile usare l'hd, al limite ci devo smanettare un pò per farlo partire.

Per bloccare la tabella ed evitare la scrittura in contemporanea?

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Mysql in Rete
« Risposta #18 il: 22 Settembre 2010, 00:27:14 »
In teoria, ma è da testare per il tuo caso specifico, già il fatto di andare ad aggiornare il numerello in fase di inserimento dovrebbe coprirti le spalle.
Quando un rdms, di fatto, và ad aggiornare il database, di fatto blocca temporaneamente il file, tenendo in coda le richieste successive.

Nella stessa INSERT, dovresti mettere l'istruzione "select campo + 1 from tabella", direttamente nello stesso comando insert.

Ad esempio:
Codice: [Seleziona]
INSERT INTO tabella VALUES ((SELECT MAX(numero)+1 FROM tabella), ... altri campi)

Questo, se te lo permette la versione del db, dovrebbe assicurarti l'unicità e la sequenzialità del numerello.

In alternativa, dovresti poter lockare temporaneamente la tabella (esistono comandi appositi), e con un'unica sessione determinare prima il numero da inserire, e poi salvarlo con l'insert. Questa seconda alternativa ti permette di conoscere immediatamente il numero utilizzato, mentre con la prima non lo puoi sapere.

I rdbms più evoluti (vedi PostgreSQL e MySQL), attraverso i trigger e le funzioni, potenziano di molto queste possibilità, permettendoti di creare apposite procedure che fanno i dovuti controlli e gli inserimenti necessari, indipendentemente dal programma. Questo perchè risiedono sul server, e non sui client, per cui sono slegati da false tempificazioni.