Jak zálohovat MySQL databázi?

Re:Jak zálohovat MySQL databázi?
« Odpověď #30 kdy: 08. 10. 2013, 19:43:44 »
1. není pravda, že je SQL Express pomalejší, jediné omezení je na 1 GB RAM, což stačí i na relativně velké databáze
2. žádné CALy nejsou potřeba

Omlouvám se za další offtopic, jen upřesňuju.


Re:Jak zálohovat MySQL databázi?
« Odpověď #31 kdy: 09. 10. 2013, 00:01:40 »
Odpovie mi prosim Vas niekto?
Funguje ten xtrabackup? Je to free?
Povedzme ze mi nevadi ked sa na par minut v noci vypne mysql - tak pointa zalohovania je ze to vypnem, zablokujem pristup a potom dane databazy zazalohujem cez rsync? Alebo?

Boban

Re:Jak zálohovat MySQL databázi?
« Odpověď #32 kdy: 09. 10. 2013, 07:43:27 »
Xtrabackup včetně celého sw od percony je zdarma, viz http://www.percona.com/, percona sama o sobě má spoustu vylepšení a lepší výkon. Na jejich webu je spoustu návodů a na netu taky. Případně doporučuji http://mysqlperformanceblog.com/, http://www.zmanda.com/backup-mysql.html. Jak již bylo výše zmíněno, nejlepší je zálohovat ze slave.

Re:Jak zálohovat MySQL databázi?
« Odpověď #33 kdy: 28. 12. 2013, 00:30:38 »
Po dlhsom case som sa k tomu dostal. Chce to riesit cez lock.

Urobil som si subor my.cnf, kde som vlozil:
[client]
user=root
password=xxx

Potom ked zadam v terminali: mysql -e "SHOW DATABASES"
pekne ukaze databazy...avsak ked zadam prikaz na zamknutie mysql, nezamkne:
mysql -e "FLUSH TABLES WITH READ LOCK"
tak ich nezamkne...ale ked sa prihlasim do mysql a zadam to pouzitim:
FLUSH TABLES WITH READ LOCK;
tak to funguje...
Potrebujem to z toho dovodu ze to chcem hodit do jedneho skriptu aj s rsyncom....
nieco na tento sposob, urobim subor: zaloha.sh, tam vlozim:
mysql -e "FLUSH TABLES WITH READ LOCK"
rsync -auAX --delete /var/lib/mysql/ /media/zalohy/ostatne/mysql/
mysql -e "UNLOCK TABLES"
exit 0


PANKapitanRUM

Re:Jak zálohovat MySQL databázi?
« Odpověď #34 kdy: 28. 12. 2013, 01:02:50 »
1. není pravda, že je SQL Express pomalejší, jediné omezení je na 1 GB RAM, což stačí i na relativně velké databáze
2. žádné CALy nejsou potřeba
Omlouvám se za další offtopic, jen upřesňuju.

Ale nemať tu lidi prosím tě ::)
Na widle na desktopu NESMÍŠ SQL Express nainstalovat, pokud se tam budou klienti připojovat vzdáleně, porušuješ licenci desktopového OS. Další omezení je v Agentovi, který je v Expressu vypnutý a zálohování je tak možné dělat jen přes onanovací baťák, stored proceduru nebo ručně.


Pěkný, budu muset vyzkoušet, obecně používám jen SQLdump a ještě se nestalo, že by se to po obnově nevzpamatovalo, nicméně taky neprovozujeme žádný kritický data.


PANKapitanRUM

Re:Jak zálohovat MySQL databázi?
« Odpověď #35 kdy: 28. 12. 2013, 01:13:36 »
Aby tu zase někdo neonanoval, že si tu honím triko a nepodložím to tvrzením:

Na widle na desktopu NESMÍŠ SQL Express nainstalovat, pokud se tam budou klienti připojovat vzdáleně, porušuješ licenci desktopového OS.

Tak třeba zde:
http://www.daquas.cz/articles/531-vse-co-potrebujete-vedet-o-uzivani-windows-8

Citace
Velmi populárním tématem v souvislosti s licencováním desktopového operačního systému je vystupování desktopového operačního systému Windows v roli serveru. Tato role je licenčními podmínkami pro desktopové operační systémy velmi omezená, bylo tomu tak u Windows 7, Vista i XP a nic se nezměnilo ani u Windows 8. Windows 8 tedy smí v roli serveru vystupovat pouze za účelem sdílení souborů, sdílení tisku, používání Internetové Informační služby, sdílení připojení k Internetu nebo telefonních služeb, a to pro maximálně dvacet dalších zařízení (u starších verzí Windows to bylo dokonce jen deset zařízení). Windows 8 tedy nesmí žádným způsobem figurovat například v roli databázového nebo aplikačního serveru, i když je to technicky možné. Není licenčními podmínkami povoleno na Windows 8 provozovat například poštovní server nebo databázový server s instalovaným SQL Serverem, ke kterému se připojují vzdálení uživatelé.

Omezené užití Windows 8 v roli serveru je povoleno především z důvodu možnosti tvorby domácí privátní sítě nebo velmi malé firemní sítě, kde uživatelé potřebují pouze sdílet soubory a dokumenty, popřípadě tisknout na společnou tiskárnu a přistupovat k Internetu přes jeden společný přípojný bod. Pokud ale potřebují využívat serverové aplikační systémy, jako jsou poštovní servery, databázové servery, ERP, CRM, nebo jen docházkové systémy, tedy aplikace typu klient-server, pak je pro serverovou stranu takového řešení skutečně nutné pořídit serverový operační systém, tedy Windows Server v některé z vhodných edic. Desktopový operační systém je určen pro stranu klientskou a jakkoli je technicky možné server rozběhnout na Windows 8, licenční podmínky takové užití zakazují, přesněji řečeno značně omezují, viz výše.

Re:Jak zálohovat MySQL databázi?
« Odpověď #36 kdy: 28. 12. 2013, 02:14:37 »
Je mozne nejako zalohovat mysql databazu za behu? dakujem

Omlouvam se za off topic, ale proste musim sdilet odkaz na lamera "muzu nejak stopnou zabehu ftp server?" :D
"Kdo v zájmu bezpečí obětuje část své svobody, v konečném důsledku přijde o svobodu i svou bezpečnost."

Re:Jak zálohovat MySQL databázi?
« Odpověď #37 kdy: 28. 12. 2013, 07:17:34 »
Po dlhsom case som sa k tomu dostal. Chce to riesit cez lock.

Urobil som si subor my.cnf, kde som vlozil:
[client]
user=root
password=xxx

Potom ked zadam v terminali: mysql -e "SHOW DATABASES"
pekne ukaze databazy...avsak ked zadam prikaz na zamknutie mysql, nezamkne:
mysql -e "FLUSH TABLES WITH READ LOCK"
tak ich nezamkne...ale ked sa prihlasim do mysql a zadam to pouzitim:
FLUSH TABLES WITH READ LOCK;
tak to funguje...
Potrebujem to z toho dovodu ze to chcem hodit do jedneho skriptu aj s rsyncom....
nieco na tento sposob, urobim subor: zaloha.sh, tam vlozim:
mysql -e "FLUSH TABLES WITH READ LOCK"
rsync -auAX --delete /var/lib/mysql/ /media/zalohy/ostatne/mysql/
mysql -e "UNLOCK TABLES"
exit 0

Vie niekto preco to nejde?

Re:Jak zálohovat MySQL databázi?
« Odpověď #38 kdy: 28. 12. 2013, 15:20:46 »
No vyzera to byt silna kava aj pre tunajsich borcov...

viete poradit iny sposob ako sa cez skript prihlasit do mysql a spustit prikaz flush tables?

Re:Jak zálohovat MySQL databázi?
« Odpověď #39 kdy: 28. 12. 2013, 15:39:20 »
Nejjednodušší způsob je snapshot na úrovni souborového systému (LVM např.).
Nepoškodí se konzistence dat a systém bez jakéhokoliv přerušení běží dál, po ukončení zálohy se snapshot odebere.
„Řemeslo se naučí každý. Umění nikdo.“
„Jednoduchost je nejvyšší úroveň sofistikovanosti.“
- Leonardo Da Vinci

Honza

Re:Jak zálohovat MySQL databázi?
« Odpověď #40 kdy: 28. 12. 2013, 17:24:14 »
rado>
Lock table ti nefunguje, protoze po ukoncenem spojeni do databaze MySQL uvolni ten zamek. Musel bys provest vsechny prikazy za sebou v ramci jedne session. Pokud se prihlasis do konzole, tak po provedeni prikazu, napr. lock table, je tabule zamcena dokud nezavolas unlock table nebo neukoncis pripojeni k mysql. Proto ti jedna varianta funguje a druha ne.

Jan Forman> Tohle nepomuze, protoze sice udelas obraz disku, ale to neznamena, ze MySQL nema nejaka data v pameti. Ikdyz udelas pred snapshotem flush tables, neznamena to, ze mezi porizenim snapshotu a flushnutim se neobjevili nejaka data v pameti.


Jinak pro backup jsou moznosti dve a to:
a)
Pokud je mozne, ze behem dumpu jsou tabulky read-only, tak lze udelat flush table s read lockem, pak dump a odemknuti (ale to musi byt vse v jedne session). Umi to takto mysqldump s prislusnym prepinacem...

b) Vytvori se mirrorovani mysql serveru (masteru) a dump se dela na slave. Na MySQL neni mirroring synchronni, tedy nez se prenesou data na slave to chvilku trva.

Pokud to neni opravdu velky projekt, na kterym jede sposta klientu, doporucuji variantu a) - je jednodussi a mas to hotove
za chvilku.

Honza

Re:Jak zálohovat MySQL databázi?
« Odpověď #41 kdy: 28. 12. 2013, 18:07:33 »
Nejjednodušší způsob je snapshot na úrovni souborového systému (LVM např.).
Nepoškodí se konzistence dat a systém bez jakéhokoliv přerušení běží dál, po ukončení zálohy se snapshot odebere.
Tohle může 100% fungovat jedině s InnoDB, která dokáže udělat recovery z transakčního logu.

Pro MyISAM to může skončit nefunkční zálohou - a ztrátou integrity db.

Záloha skrz snapshot simuluje havárii databáze - z které by se ACID databáze měly vzpamatovat - ale MyISAM není ACID a v případě havárie (nekorektního ukončení aplikace) můžete mít nekonzistentní databázi.

k

Re:Jak zálohovat MySQL databázi?
« Odpověď #42 kdy: 28. 12. 2013, 20:38:05 »
Je mozne nejako zalohovat mysql databazu za behu? dakujem

Omlouvam se za off topic, ale proste musim sdilet odkaz na lamera "muzu nejak stopnou zabehu ftp server?" :D

Když už jsme u offtopiců z lamera, tak tenhle taky stojí za to:
http://www.lamer.cz/quote/71466

Re:Jak zálohovat MySQL databázi?
« Odpověď #43 kdy: 28. 12. 2013, 21:04:56 »
Muzete mi nekdo vysvetlit, proc nepostaci zalohovat repliku (slave)? To tu někdo pořád vymýšlí kolo?

PANKapitanRUM

Re:Jak zálohovat MySQL databázi?
« Odpověď #44 kdy: 28. 12. 2013, 21:10:09 »
Muzete mi nekdo vysvetlit, proc nepostaci zalohovat repliku (slave)? To tu někdo pořád vymýšlí kolo?

Jistě, protože tohle kolo může být kulatější než to tvoje kolo ;D
A taky to spotřebuje méně systémových prostředků ne?