Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak mogę spowolnić zrzut MySQL, aby nie wpływać na bieżące obciążenie serwera?

Mam bardzo duże bazy danych z dziesiątkami tysięcy tabel, z których niektóre mają do 5 GB danych w dziesiątkach milionów wpisów. (Prowadzę popularną usługę)... Zawsze miałem bóle głowy podczas tworzenia kopii zapasowych tych baz danych. Używając domyślnego mysqldump, szybko wymyka się spod kontroli obciążenia serwera i blokuje wszystko... mające wpływ na moich użytkowników. Próba zatrzymania procesu może prowadzić do awarii tabel i wielu przestojów podczas odzyskiwania tych tabel.

Teraz używam...

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

odniesienie do mysqldump na dev.mysql.com mówi nawet...

Nie mówi nic o tym, że jest to zależne od bazy danych będącej InnoDB, moje to myISAM i to działało dla mnie pięknie. Obciążenie serwera było prawie całkowicie nienaruszone, a moja usługa działała jak Rolex podczas całego procesu. Jeśli masz duże bazy danych, a tworzenie ich kopii zapasowych ma wpływ na użytkownika końcowego... TO JEST rozwiązanie.;)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 1130 Host „amazon-ec2-ip” nie może połączyć się z tym serwerem MySQL

  2. MySQL, jak sprawić, by wartość wygasła?

  3. MySQL - InnoDB kontra MyISAM

  4. MySQL CREATE USER ze zmienną?

  5. Typ kolumny MySQL TIMESTAMP niejawnie zawiera NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP