WP-DBManager

Popis

WP-DBManager se stará o databázi vašeho webu: zálohuje ji, obnovuje, optimalizuje a opravuje, vyprázdňuje nebo maže tabulky a spouští dotazy, které napíšete – to vše přímo z wp-admin, nikoli z příkazového řádku nebo phpMyAdmin. Zálohování, optimalizaci a opravy lze nastavit tak, aby probíhaly podle plánu, a po dokončení zálohování vám může být záloha zaslána e-mailem.

Dary

Většinu svého volného času jsem věnoval tvorbě, aktualizaci, údržbě a podpoře těchto pluginů. Pokud se vám moje pluginy opravdu líbí a mohli byste mi věnovat pár dolarů, velmi bych to ocenil. Pokud ne, můžete je klidně používat bez jakýchkoli závazků.

Použití

Zabezpečení složky se zálohami

Záloha databáze obsahuje vše, včetně tabulky uživatelů. Kdokoli, kdo uhádne název záložního souboru, si může stáhnout celý obsah, proto nesmí být tato složka zpřístupněna přes protokol HTTP.

Spolehlivá volba pro jakýkoli server: nastavte Cestu k záloze v sekci WP-Admin -> Databáze -> Nastavení na složku mimo kořenový adresář webu, například /var/www/example.com/backup-db, pokud je WordPress umístěn v /var/www/example.com/public_html. Není třeba nic poskytovat ani konfigurovat.

Pokud má složka zůstat v kořenovém adresáři webu:

  • Apache — přesuňte soubor htaccess.txt ze složky wp-content/plugins/wp-dbmanager do složky wp-content/backup-db/.htaccess
  • IIS — přesuňte soubor Web.config.txt ze složky wp-content/plugins/wp-dbmanager do složky wp-content/backup-db/Web.config
  • nginx — nginx nečte soubory .htaccess, takže výše uvedený soubor nemá žádný účinek. Přidejte toto do svého serverového bloku a restartujte nginx:
location ^~ /wp-content/backup-db/ { deny all; }

Přesuňte také soubor index.php ze složky wp-content/plugins/wp-dbmanager do složky wp-content/backup-db/index.php, aby se tato složka nezobrazovala v seznamu.

Stránka Backup DB vyžádá soubor ze složky a zobrazí, co server skutečně vrátí, takže si můžete ověřit, že je složka uzavřena, místo abyste to pouze předpokládali.

WP-CLI

wp dbmanager tables
wp dbmanager backups
wp dbmanager backup --yes
wp dbmanager backup --no-gzip --yes
wp dbmanager restore <file> --yes
wp dbmanager delete <file>... --yes
wp dbmanager email <file> --to=ops@example.org --yes
wp dbmanager optimize --all --yes
wp dbmanager repair wp_options --yes
wp dbmanager empty <table>... --yes
wp dbmanager drop <table>... --yes

Všechno, co něco mění, se nejprve zeptá, takže skript musí projít --yes. To zahrnuje zálohování, které maže nejstarší zálohy, aby se vešly do limitu Maximální počet záložních souborů, a e-mail, protože výpis obsahuje tabulku uživatelů a odeslanou zprávu nelze odvolat. tabulky a zálohy jsou pouze pro čtení a přijímají --format v podobě table, csv, json, yaml, count nebo ids; jejich velikosti jsou udávány v bajtech namísto KiB a MiB, které zobrazují obrazovky, protože shell je lepší v aritmetice než v parsování 1,2 MiB.

optimize and `repair` take table names or `--all`. `empty` and `drop` take names only: emptying or dropping every table in a database is not maintenance, and the screen at least shows you the list before you tick it.

Neexistuje žádný run podpříkaz. WP-CLI již obsahuje příkaz wp db query, který přistupuje ke stejné databázi prostřednictvím stejného klienta, takže obrazovka Spustit SQL dotaz nemá žádný ekvivalent v příkazovém řádku. Tato obrazovka zůstává beze změny a stále funguje.

wp dbmanager checks no capability. WP-CLI has no logged-in user unless you ask for one with `--user`, and whoever can run it can already read the credentials in `wp-config.php`, so a check would refuse every scheduled backup script while protecting nothing. The `install_plugins` gate on the admin screens is unchanged.

Snímky obrazovky

Instalace

  1. Nainstalujte a aktivujte plugin.
  2. Plugin vytvoří složku backup-db uvnitř složky wp-content, pokud je tato složka zapisovatelná. Pokud se tato složka neobjeví, vytvořte ji sami a nastavte ji jako zapisovatelnou.
  3. Zabezpečte záložní složku, jak je popsáno v části „Použití“. Kdokoli, kdo k ní má přístup přes HTTP, si může stáhnout celou vaši databázi.
  4. Přejděte na WP-Admin -> Databáze -> Nastavení, kde můžete nakonfigurovat plány zálohování, optimalizace a oprav.
  5. Přejděte na WP-Admin -> Databáze -> Zálohování databáze, kde se ověří, zda je složka skutečně přístupná přes HTTP, a zobrazí se vám příslušná informace.

Nejčastější dotazy

Moje databáze není zálohována / Můj záložní soubor má velikost 0 kB

  • Přejděte na WP-Admin -> Databáze -> Zálohování databáze. V horní části této stránky se zkontroluje složka pro zálohy, obě cesty k binárním souborům a také to, zda jsou k dispozici funkce passthru(), system() a exec(), a zobrazí se informace o tom, která z nich způsobuje problém.
  • Obvyklou příčinou je, že poskytovatel hostingu vůbec nepovoluje spuštění příkazu mysqldump, nebo že je nesprávná cesta uvedená v sekci WP-Admin -> Databáze -> Nastavení. Správnou cestu vám sdělí váš poskytovatel hostingu.
  • Pokud jste do cesty pro mysqldump nebo mysql přidali další příznaky, odstraňte je. Od verze 3.0.0 se cesta předává jako jediný argument, takže vše, co následuje za názvem spustitelného souboru, se považuje za součást názvu souboru.

Můj záložní soubor ve formátu gzip má velikost asi 20 bajtů

  • Jedná se o prázdný gzipový proud: příkaz mysqldump selhal a nevytvořil žádný výstup, a příkaz gzip tento prázdný výstup zkomprimoval.
  • Před verzí 3.0.0 to plugin nedokázal rozpoznat. mysqldump | gzip vrací stavový kód programu gzip namísto mysqldumpu a výsledný soubor není prázdný, takže kontrola, zda záloha obsahuje nulové bajty, se nikdy nespustila. Soubor byl přejmenován s kontrolním součtem a v případě, že jste měli zapnuté zasílání e-mailů o zálohách, byl vám odeslán.
  • Od verze 3.0.0 se výpis před přijetím znovu načte; pokud je prázdný, bude smazán a nahlášen jako chyba. Zkontrolujte všechny nedávné zálohy .sql.gz, na které se spoléháte — skutečná záloha je mnohem větší než 20 bajtů a příkaz gunzip -c yourbackup.sql.gz | head by měl zobrazit kód SQL.

Klikl jsem na „Optimalizovat“ (nebo „Opravit“) a objevila se hláška „Nebyly vybrány žádné tabulky“

  • Od verze 3.0.0 se na těchto obrazovkách již automaticky nezaškrtávají všechny tabulky. Zaškrtněte požadované tabulky – nebo políčko v záhlaví, chcete-li vybrat všechny – a poté vyberte Optimalizovat z nabídky Hromadné akce a stiskněte Použít.
  • Staré obrazovky vše předvolily, takže jediné kliknutí mělo dopad na celou databázi, ať už jste to tak zamýšleli, nebo ne. Nejprve provést výběr je v WordPressu běžnou praxí a je mnohem těžší to udělat omylem.
  • Totéž platí pro Vymazání/odstranění tabulek, u nichž již navíc není možné v rámci jednoho odeslání nejprve vymazat některé tabulky a poté odstranit jiné – je třeba vybrat jednu akci, provést ji a teprve poté vybrat druhou.

Na stránkách databáze se zobrazuje hlášení: „Omlouváme se, nemáte oprávnění k přístupu na tuto stránku.“

  • Vaše záložka odkazuje na starou adresu. Ve verzi 3.0.0 se stránky přesunuly z admin.php?page=wp-dbmanager/database-backup.php na admin.php?page=wp-dbmanager-backup, a totéž platí i pro ostatní stránky.
  • Otevřete je z nabídky Databáze v postranním panelu a znovu si je přidejte do záložek. Nic nebylo odstraněno.
  • Staré adresy obsahovaly název složky pluginu, což znamenalo, že plugin fungoval pouze v případě, že byl nainstalován jako wp-dbmanager. Nyní již nezáleží na tom, jak se složka jmenuje.

Jaký je rozdíl mezi WP-DBManager a WP-DB-Backup?

  • WP-DBManager využívá k vytvoření zálohy aplikaci mysqldump a k její obnově aplikaci mysql, a to prostřednictvím příkazového řádku.
  • WP-DB-Backup využívá k vytvoření zálohy jazyk PHP. V některých případech vám WP-DB-Backup bude vyhovovat lépe, protože vyžaduje méně oprávnění – ne každý poskytovatel hostingu totiž umožňuje přímé spuštění příkazů mysqldump/mysql.
  • WP-DBManager vám kromě zálohování databáze nabízí také její automatickou optimalizaci a opravu.

Moje záložní složka je označena jako viditelná pro veřejnost

  • Kdokoli, kdo uhodne název záložního souboru, si může stáhnout celou vaši databázi včetně tabulky uživatelů, takže je lepší tento problém vyřešit, než se ho snažit skrýt.
  • Nejspolehlivějším řešením na jakémkoli serveru je přesunout složku mimo kořenový adresář webu – v části WP-Admin -> Databáze -> Nastavení nastavte Cesta k záloze na něco jako /var/www/example.com/backup-db. Z této adresy se nic neposkytuje, takže není co chránit.
  • Pokud musí zůstat v kořenovém adresáři webu, podívejte se na Zabezpečení složky pro zálohy výše. V serveru nginx nemá přiložený soubor .htaccess vůbec žádný účinek; potřebujete blok location.
  • Stránka Zálohování databáze vyžádá soubor ze složky a zobrazí, co váš server skutečně vrátil, takže vám sděluje, co by návštěvník skutečně obdržel, místo aby se spoléhala na odhady. Pokud jste si to ověřili sami a přesto chcete, aby se toto upozornění nezobrazovalo, nastavte v části Nastavení položku Skrýt správcovská upozornění na hodnotu Ano.

Recenze

9. 8. 2026
Thanks for the update. The plugin is quite good. I’ve been using it for a while to optimize database performance and works quite good
5. 11. 2022
I use this along with a Windows program called Backup4All on my server to create regular backups of my WP instances to Amazon S3. It’s also easy to do an instant db backup and then zip up the site folder with the db inside on the server if I’m doing something risky. I wanted something that was simple, affordable and logical and found this one best after testing many others. Thanks heaps!
19. 7. 2022 1 odpověď
From version 2.80.7 the menu is visible again without activated theme and plugin editor. old Since version 2.80.6 only works with activated theme and plugin editor.
Přečtěte si všech 95 recenzí

Autoři

WP-DBManager je otevřený software. Následující lidé přispěli k vývoji tohoto pluginu.

Spolupracovníci

Plugin „WP-DBManager“ byl přeložen do 12 jazyků. Děkujeme všem překladatelům za jejich pomoc.

Přeložte “WP-DBManager” do svého jazyka.

Zajímá vás vývoj?

Prohledejte kód, podívejte se do SVN repozitáře, nebo se přihlaste k odběru protokolu vývoje pomocí RSS.

Přehled změn

4.0.0

  • OPRAVENO: Změna složky pro zálohy na obrazovce nastavení způsobovala, že nová složka zůstávala nechráněná. Soubory .htaccess, Web.config, soubor index.php a oprávnění 0750 byly zapsány pouze při aktivaci a na základě upozornění „pokusit se opravit“, takže zálohy byly následně ukládány do prázdného adresáře — a výchozí adresář se nachází uvnitř wp-content, který je přístupný. Výpis obsahuje tabulku uživatelů
  • OPRAVENO: Obslužné rutiny pro stahování a opravu složek byly registrovány při každém požadavku, včetně frontendu, kam by se ani jedna z nich neměla oprávněně dostat. Připojení ?try_fix=1 k jakékoli URL adrese na webu vedlo k zobrazení stránky „Přístup odepřen“, protože kontrola oprávnění probíhá před generováním jednorázového kódu (nonce).
  • OPRAVENO: Soubor .sql byl přidán do seznamu typů souborů pro nahrávání platných pro celý web pro všechny uživatele, takže každý autor získal typ souboru, který mohl umístit do veřejného adresáře pro nahrávání – a to pro funkci, ke které nemá přístup. Nyní k němu mají přístup pouze uživatelé, kteří mohou skutečně obnovit databázi.
  • AKTUÁLNÍ ZPRÁVA: Vyžaduje WordPress 6.8 a PHP 8.2, což představuje zvýšení požadavků oproti verzím 4.0 a 5.2.
  • AKTUÁLNÍ ZPRÁVA: Řádek s nastavením byl přejmenován z dbmanager_options na wp_dbmanager_options a druhý řádek, wp_dbmanager_version, zaznamenává verze pluginu a schématu. K přejmenování dojde automaticky při prvním načtení pluginu.
  • AKTUÁLNÍ ZPRÁVA: Tři cron háčky byly přejmenovány na wp_dbmanager_cron_backup, wp_dbmanager_cron_optimize a wp_dbmanager_cron_repair, a jejich opakované úlohy na wp_dbmanager_backup, wp_dbmanager_optimize a wp_dbmanager_repair. Naplánované události se automaticky znovu vytvoří.
  • AKTUÁLNÍ ZPRÁVA: Stránky pro správu databáze mají nové adresy. admin.php?page=wp-dbmanager/database-backup.php se nyní nachází na adrese admin.php?page=wp-dbmanager-backup, a totéž platí pro všechny ostatní stránky. Aktualizujte si záložky. Samotné menu zůstává beze změny a plugin již není závislý na názvu své složky.
  • AKTUÁLNÍ ZPRÁVA: Všechny třídy byly přejmenovány z DBManager_* na WP_DBManager_*, stejně jako soubory v adresáři includes/.
  • AKTUÁLNÍ ZPRÁVA: Záloha ve formátu gzip může být vytvořena, opatřena kontrolním součtem a odeslána e-mailem i v případě, že příkaz mysqldump selhal a nevytvořil vůbec nic. Viz sekce Často kladené otázky (FAQ). Zkontrolujte, zda vaše nedávné zálohy .sql.gz nemají velikost kolem 20 bajtů.
  • AKTUÁLNÍ ZPRÁVA: Funkce Optimalizovat databázi a Opravit databázi již automaticky nevybírají všechny tabulky. Vyberte požadované tabulky a poté zvolte akci z nabídky Hromadné akce. Dříve byly všechny tabulky předem vybrány, takže jedním kliknutím se akce provedla na všech.
  • AKTUÁLNÍ ZPRÁVA: Funkce Vymazat/Odstranit tabulky již neumožňuje v rámci jednoho odeslání vymazat některé tabulky a jiné odstranit. Vyberte si z nabídky Hromadné akce buď možnost Vymazat, nebo Odstranit, a poté proveďte další odeslání pro druhou akci.
  • NOVINKA: Příkaz WP-CLI wp dbmanagertables, backups, backup, restore, delete, email, optimize, repair, empty a drop. Všechny příkazy, které provádějí změny, se nejprve ptají na potvrzení, takže skripty vyžadují --yes. Neexistuje žádný podpříkaz run: tuto funkci již plní příkaz wp db query a obrazovka Spustit SQL dotaz zůstává beze změny.
  • NOVINKA: Filtr wp_dbmanager_capability. Prochází jím každá kontrola oprávnění v pluginu, takže je možné na jednom místě přidělit přístup k obrazovkám databáze jiné roli. Výchozí hodnotou zůstává install_plugins.
  • NOVINKA: Každá tabulka na obrazovkách „Databáze“, „Správa záložní databáze“, „Optimalizace“, „Oprava“ a „Vyprázdnit/Odstranit“ je nyní standardní seznamovou tabulkou WordPressu. Sloupce lze seřadit, funguje políčko pro výběr všech položek a na obrazovkách „Optimalizace“ a „Oprava“ se zobrazuje velikost a režie každé tabulky, takže můžete snadno zjistit, u kterých z nich se skutečně vyplatí zasáhnout.
  • NOVINKA: Několik záloh lze smazat nebo odeslat e-mailem najednou. Funkce „Obnovit“ a „Stáhnout“ však stále pracují s jednou zálohou najednou a tuto skutečnost jasně uvádějí, místo aby to čtenář musel hádat.
  • NOVINKA: „Nastavení“ je obrazovka rozhraní Settings API, sestavená z registrovaných sekcí a polí, a plány zálohování, optimalizace a oprav se nyní přizpůsobují těmto nastavením bez ohledu na to, jak jsou změněna, a to i v případě změn provedených prostřednictvím WP-CLI.
  • NOVINKA: Stránka „Zálohování databáze“ se nyní dotazuje serveru, zda je záložní složka skutečně přístupná přes HTTP, místo aby předpokládala, že ji chrání soubor .htaccess umístěný v daném adresáři. Nginx je rozpoznán a je mu poskytnut funkční konfigurační úryvek.
  • NOVINKA: Možnost „Připojit záložní soubor“, která určuje, zda má e-mail s plánovanou zálohou obsahovat databázový soubor. U stávajících webů se tento soubor nadále připojuje.
  • NOVINKA: Nové zálohy jsou ve výchozím nastavení komprimovány pomocí gzipu.
  • NOVINKA: Sada testů PHPUnit a automatizované testování (CI) pomocí GitHub Actions, které pokrývají všechny obrazovky administrátorského rozhraní, nastavení, plánování a správu záloh, a to na šesti kombinacích WordPressu a PHP, a to jak v režimu jednoho webu, tak v režimu multisite, plus sada testů vitest pro administrátorský skript.
  • NOVINKA: WordPress 7.0
  • ZMĚNA: Správcovské obrazovky nyní v celém textu používají standardní značky jádra pro oznámení, tabulky a formuláře. Ručně vybarvené zelené a červené stavové řádky byly odstraněny, díky čemuž jsou nyní obrazovky čitelné v tmavém režimu i pro čtečky obrazovky.
  • ZMĚNA: Při nové instalaci se již automaticky nevyplňuje záložní e-mailová adresa, takže zasílání e-mailů o plánovaných zálohách je nyní volitelné.
  • ZMĚNA: Překlady nyní pocházejí z jazykových balíčků WordPress.org. Soubor .pot, který byl součástí balíčku, a volání funkce `load_plugin_textdomain()` byly odstraněny, protože byly nadbytečné.
  • OPRAVENO: Neúspěšná záloha v formátu gzip již není vydávána za platnou. Příkaz mysqldump | gzip hlásí stav ukončení programu gzip namísto stavu mysqldumpu, a protože gzip převádí prázdný vstup na platný soubor o velikosti 20 bajtů, stará kontrola velikosti tuto chybu nikdy nezaznamenala. Gzip je výchozí volbou, takže se jednalo o běžný případ.
  • OPRAVENO: V potvrzovacích dialogových oknech před obnovením, odstraněním a vyprázdněním se místo správných řádků zobrazovalo Databáze.nTuto akci nelze vrátit zpět..
  • OPRAVENO: V náznacích cest pro Windows a Linux v části Nastavení se zobrazovalo '<strong>mysqldump.exe</strong>' jako doslovný text.
  • OPRAVENO: U záloh větších než 1 GiB byla jejich velikost uváděna v nesprávné jednotce, takže záloha o velikosti 2 GiB se zobrazovala jako 2048,0 GiB.
  • OPRAVENO: Příkaz mysqldump, jeho argumenty pro připojení a příkaz restore byly zaznamenány třikrát samostatně a jejich hodnoty se od sebe lišily; pouze dva ze tří kontrolovaly, zda výpis vytvořil soubor.
  • OPRAVENO: Veškerý výstup na administrátorských obrazovkách je nyní escapován, aby se zabránilo útokům typu XSS.
  • OPRAVENO: Před vyprázdněním, odstraněním, optimalizací nebo opravou je třeba ověřit názvy tabulek podle databáze.
  • OPRAVENO: Heslo k databázi se již nepředává na příkazovém řádku.
  • OPRAVENO: Pro zobrazení upozornění na složku se zálohami, stažení a opravu složky je nyní vyžadováno oprávnění install_plugins.
  • OPRAVENO: Stahovat pouze záložní soubory, které lze rozbalit přímo do záložní složky.
  • OPRAVENO: Stahování, které plugin odmítne, již nevede k zobrazení prázdné stránky. Funkce Správa záložní databáze nyní hlásí Neplatný soubor zálohy databáze namísto vrácení prázdné odpovědi bez vysvětlení.
  • OPRAVENO: Nezávislá kontrola platnosti cest k mysqldump, mysql a záloze.
  • OPRAVENO: Žádný soubor se nyní nespustí, pokud je načten přímo.
  • OPRAVENO: Zálohy spouštěné přes Cron již nepřejmenovávají a neodesílají e-mailem výpis, u kterého došlo k selhání; prázdný soubor již není vydáván za zálohu.
  • OPRAVENO: Funkce Obnovení již nehlásí úspěšné provedení, pokud se obnovení neprovedlo.
  • OPRAVENO: Staré zálohy se budou nadále odstraňovat, dokud nebude dosaženo maximálního limitu, přičemž maximální limit nižší než 1 se bude považovat za neomezený.
  • OPRAVENO: Dvě zálohy vytvořené ve stejné vteřině již nejsou při pročišťování a na obrazovce správy neviditelné.
  • OPRAVENO: Aktivace a odinstalace v síti se nyní vztahují na všechny weby, nikoli pouze na prvních 100.
  • OPRAVENO: Odinstalace v prostředí s více weby již nepřepíše ID aktuálního webu, pokud je v provozu.
  • OPRAVENO: Byla odstraněna závislost na jQuery.
  • POZNÁMKA: Tato verze má číslo 4.0.0. Verze 3.0.0 je již k dispozici na WordPress.org, takže práce, které měly být součástí verze 3.0.0, jsou nyní vydány jako verze 4.0.0.
  • POZNÁMKA: Cesty k nástrojům mysqldump a mysql se nyní předávají jako jediný argument. Pokud jste v části „Nastavení“ k některé z těchto cest přidali další parametry, odstraňte je, jinak se zálohování nezdaří.
  • POZNÁMKA: Názvy záložních souborů nyní obsahují skutečný časový údaj podle systému Unix. Zálohy pořízené před vydáním této verze budou vykazovat datum posunuté o časový posun vašeho časového pásma. Samotné soubory jsou v pořádku.
  • POZNÁMKA: Funkce pluginu v jazyce PHP již nejsou globální. Vše se nyní nachází v třídách WP_DBManager_* v adresáři includes/. Akce wp_dbmanager_before_escapeshellcmd zůstává beze změny.
  • POZNÁMKA: Samotné popisky „To“, „From“ a „and“ nyní obsahují kontext pro překladatele, protože jedno slovo vytržené z kontextu nestačí k překladu. Tyto tři msgidy se změnily, takže stávající překlady těchto výrazů se do doby, než budou znovu přeloženy, zobrazují v angličtině.