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

Hvordan kan jeg sænke en MySQL-dump for ikke at påvirke den nuværende belastning på serveren?

Jeg har meget store databaser med titusindvis af tabeller, hvoraf nogle har op til 5 GB data i 10'er af millioner af poster. (Jeg kører en populær tjeneste)... Jeg har altid haft hovedpine ved sikkerhedskopiering af disse databaser. Ved at bruge standard mysqldump får det hurtigt serverbelastningen ud af kontrol og låser alt... påvirker mine brugere. At forsøge at stoppe processen kan føre til nedbrudte tabeller og masser af nedetid under gendannelse af disse tabeller.

Jeg bruger nu...

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

mysqldump-referencen på dev.mysql.com siger endda...

Siger intet om, at det er afhængigt af, at databasen er InnoDB, mine er myISAM, og det fungerede smukt for mig. Serverbelastningen var næsten fuldstændig upåvirket, og min service kørte som en Rolex under hele processen. Hvis du har store databaser og sikkerhedskopiering af dem påvirker din slutbruger... dette ER løsningen.;)



  1. Henter ændringer fra tabellen med ElasticSearch JDBC-floden

  2. Ugyldigt forsøg på at få adgang til feltet før kald read()

  3. Ændring af en søjletype til længere strenge i skinner

  4. Sådan fungerer MAKETIME() i MariaDB