sql >> Databáze >  >> RDS >> Mysql

Jak mohu zpomalit výpis MySQL, aby neovlivnil aktuální zatížení serveru?

Mám velmi rozsáhlé databáze s desítkami tisíc tabulek, z nichž některé mají až 5 GB dat v 10 z milionů záznamů. (Provozuji oblíbenou službu)... Při zálohování těchto databází mě vždy bolela hlava. Pomocí výchozího mysqldump se rychle vymkne kontrole zatížení serveru a vše zablokuje... což ovlivňuje mé uživatele. Pokus o zastavení procesu může vést k selhání tabulek a mnoha prostojům během obnovy těchto tabulek.

Nyní používám...

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

reference mysqldump na dev.mysql.com dokonce říká...

Neříká nic o tom, že je závislá na databázi InnoDB, moje jsou myISAM a to mi fungovalo krásně. Zatížení serveru bylo téměř zcela neovlivněno a moje služba během celého procesu běžela jako Rolex. Pokud máte velké databáze a jejich zálohování ovlivňuje vašeho koncového uživatele... toto JE řešení.;)



  1. MySQL:CHYBA 1227 (42000):Přístup odepřen - Nelze VYTVOŘIT UŽIVATELE

  2. Získejte ID vloženého záznamu:PHP &MS SQL SERVER

  3. Odstraňte prvních X řádků databáze

  4. Vytvoření tabulky pomocí mysql, php a ajax (s jquery)