sql >> Database >  >> RDS >> Mysql

Hoe kan ik een MySQL-dump vertragen om de huidige belasting van de server niet te beïnvloeden?

Ik heb zeer grote databases met tienduizenden tabellen waarvan sommige tot 5 GB aan gegevens bevatten in tientallen miljoenen ingangen. (Ik run een populaire service)... Ik heb altijd hoofdpijn gehad bij het maken van back-ups van deze databases. Door standaard mysqldump te gebruiken, wordt de serverbelasting snel uit de hand gelopen en wordt alles vergrendeld... wat mijn gebruikers beïnvloedt. Proberen om het proces te stoppen kan leiden tot vastgelopen tabellen en veel downtime tijdens het herstel van die tabellen.

Ik gebruik nu...

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

De mysqldump-referentie op dev.mysql.com zegt zelfs...

Zegt niets over dat het afhankelijk is van het feit dat de database InnoDB is, de mijne zijn myISAM en dit werkte uitstekend voor mij. De serverbelasting was bijna volledig onaangetast en mijn service liep gedurende het hele proces als een Rolex. Als u grote databases heeft en het maken van een back-up hiervan gevolgen heeft voor uw eindgebruiker... IS dit de oplossing.;)



  1. Functie voor datumnotatie in SQL Server

  2. Back-upbronnen voor MySQL en MariaDB Database

  3. SQL Left Join

  4. Hulp bij een MySql-query - De rijen met het groepsgewijze maximum van een bepaalde kolom