best practice quando si lavora con una directory datadir del database MySQL

1

Nel posto in cui lavoro attualmente fanno qualcosa che considero strano nel modo in cui lavorano con il datadir MySQL. La directory in cui sono conservati i file che effettivamente memorizzano i dati.

$ grep datadir /etc/mysql/my.cnf
datadir = /var/lib/mysql

Dove sono stati trovati tutti i file .frm .myd .myi.

Quando si spostano i dati sulla rete o si eseguono installazioni client, questi file vengono copiati direttamente da questa directory e incollati in una directory qualsiasi in cui sono stati impostati MySQL da utilizzare sul lato client. Fanno la stessa cosa in ufficio.

Mi è stato insegnato come amministratore del database che dovresti lavorare con gli script. Esportare i dati e la struttura del database come uno script SQL e importarlo come uno script SQL quando si desidera iniziare a lavorare con esso. Questo è per proteggere l'integrità dei dati. Poiché tali file possono trovarsi in uno stato non conforme a una copia funzionante dei dati. Poiché le cache potrebbero non essere state scritte nei file di database sul disco. Vedo che interrompono il server MySQL quando eseguono la copia e incolla in modo da evitare che i dati vengano corrotti.

Stavo girovagando su quale sia la migliore pratica del settore attorno a questo problema. Mi sembra strano. Considerando come vedono la sicurezza, riguardo alle password e all'accesso da root, penso che abbiano sviluppato una cattiva pratica e la stanno facendo ignorando. Non hanno una strong comprensione di alcuni dei fondamenti su come i sistemi di database dovrebbero funzionare. Mi sbaglio, dovrei semplicemente seguire il flusso e non essere coinvolto nel tentativo di cambiare queste pratiche.

    
posta nelaaro 04.08.2011 - 08:25
fonte

2 risposte

1

Generalmente utilizzerai il meccanismo di backup appropriato, mysqldump nel caso di MySQL, insieme al test che il backup possa essere ripristinato con successo. È meglio fingere che ogni backup e ogni ripristino vengano controllati da qualcuno che ha un aspetto molto ufficiale.

    
risposta data 16.08.2011 - 17:51
fonte
1

Se impostano un duplicato di un db esistente, ad es. iniziando lo stato di db per un'applicazione E il db che stanno copiando non è in uso pesante (idealmente quasi inutile) - quindi questo è un metodo rapido e semplice.

Se il database è ancora in uso, tuttavia, questo è piuttosto scadente in quanto si rischiano vari ritardi di blocco ed è difficile sapere esattamente quale stato si sta copiando.

    
risposta data 16.08.2011 - 18:08
fonte

Leggi altre domande sui tag