Jak zalohovat celou MySQL db z PHP? rubrika: Databáze: SQL
Ahoj,
resim problem se zalohovanim webu.
Weby bezi na ruznych webhostinzich, ale prevazne wedos. Sice kazdy webhosting nejak resi zalohy sam, ale ja chci mit sve vlastni zalohy podle vlastnich pravidel.
Zalohovat soubory neni problem, staci FTP/SFTP/... klient. Mam vsak problem se zalohou databaze.
Klasicka zaloha pres mysql klienta temer nikdy nefunguju:
mysql -uUZIVATEL -pHESLO -h host.example.net > dump.sql
vetsina webhostingu nepovoluje pripojeni na mysql port 3306 zvenku. Pokud zavolam z php pres exec prikaz mysql, take to vetsinou nefunguje.
Dump pres phpMyAdmin je sice funkcni, ale tezko strojove automatizovatelny. Nikdo nebude ve dve rano klikat mysi u X phpmyadminu...
Reseni typu vlastniho serveru, vps, nebo draheho hostingu s otevrenym portem mi nepomuzou. Casto musim pouzivat existujici hosting.
Me napada:
1) Projit zdrojaky phpMyAdminu a podivat se, jak resi zalohu. Udelat to stejne. Ale da to dost prace.
2) Pres curl zavolat phpMyAdmin. Prijde mi to divne. Ruzne verze phpMyAdmina mohou delat problemy.
3) Pouzit mysqldump-php. Ze tri voleb vypada tato nejlepe.
Jak to resite vy?
Pokud mám obavu z toho, že si omylem smažu článek z webu, umístím do tabulky sloupec se stavovou informací článku: rozepsán, ke_schválení, schválen, publikován, blokován. V případě nechtěného "smazání" jen změním status.
Komentáře
- martin1 : Clanek byl pouze priklad. Proste chci zalohovat. Na pc se taky nespokojim s odstranenim klavesy delete z klavesnice. — 24.8.2016
- Kit : Psal jsi, že jsi chtěl zálohovat kvůli možnosti nápravy vlastní chyby. Můj přístup to řeší. Alternativou je další tabulka (archiv), do které se mazaný či modifikovaný záznam automaticky přesune, ale uvedený příklad není typickým případem užití. Máš tedy jiný důvod, proč chceš tu databázi zálohovat? — 25.8.2016
Pro zobrazení všech 12 odpovědí se prosím přihlaste:
Nebo se přihlaste jménem a heslem:
Komentáře