Mysql
 sql >> Database >  >> RDS >> Mysql

Come posso rallentare un dump di MySQL per non influire sul carico corrente sul server?

Ho database molto grandi con decine di migliaia di tabelle, alcune delle quali hanno fino a 5 GB di dati in 10 di milioni di voci. (Gestisco un servizio popolare)... Ho sempre avuto mal di testa durante il backup di questi database. Usando mysqldump predefinito, il carico del server diventa rapidamente fuori controllo e blocca tutto... che colpisce i miei utenti. Il tentativo di interrompere il processo può causare il crash delle tabelle e molti tempi di inattività durante il ripristino di tali tabelle.

Ora uso...

mysqldump -u USER -p --single-transaction --quick --lock-tables=false DATABASE | gzip > OUTPUT.gz

Il riferimento a mysqldump su dev.mysql.com dice anche...

Non dice nulla sul fatto che il database sia dipendente da InnoDB, i miei sono myISAM e questo ha funzionato magnificamente per me. Il carico del server è stato quasi completamente inalterato e il mio servizio è stato eseguito come un Rolex durante l'intero processo. Se disponi di database di grandi dimensioni e il loro backup influisce sul tuo utente finale... questa è la soluzione.;)