Portál AbcLinuxu, 10. května 2025 13:54

Dotaz: Bezpecna zaloha mysql

9.12.2008 15:14 Roman
Bezpecna zaloha mysql
Přečteno: 956×
Odpovědět | Admin
Zdravim, rad bych poprosil o radu jak bezpecne zazalohovat databazi. Pouzivam s uspechem mysqldump, je tam ale jeden problem, kdyz je poskozena mysql tabulka databaze.. tak mysqldump takovou tabulku preskoci. A pri obnove databaze nekdy pozdeji je to prusvih.. kdyz se zjisti ze zaloha byla provedena ale s chybejicimi tabulkami. Pokud predem vim ze je tabulka poskozena.. prozenu to myisamchk nebo mysqlcheck prikazem..

Ma otazka je.. pouzivate nejake reseni pro zalohu databaze.. aby se databaze zalohovala spravne.. tzn na urovni zalohy databaze aby to zaroven checklo poskozeni tabulek a pripadne to pred zalohou samo opravilo ?
Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Pavel Beníšek avatar 11.12.2008 12:12 Pavel Beníšek | skóre: 27
Rozbalit Rozbalit vše Re: Bezpecna zaloha mysql
Odpovědět | | Sbalit | Link | Blokovat | Admin

Pouzivam script automysqlbackup.sh a jsem s nim maximalne spokojen. Posila reporty emailem, takze vidis co se delo. Nenasel jsem sice zadnou volbu pro automatickou opravu, ale kdyz budes kontrolovat reporty, tak to muzes obnovit sam.

checking for chicken... must have egg first
23.12.2008 23:23 xsouku04 | skóre: 7
Rozbalit Rozbalit vše Re: Bezpecna zaloha mysql
Odpovědět | | Sbalit | Link | Blokovat | Admin

Já zálohuji tak, že si v noci rsyncnu adresář /var/lib/mysql na jiný stroj.

Viz man rsync.

V noci je minimální provoz, takže že by se s nějakou tabulkou zrovna pracovalo je nepravděpodobné.

Pokud se tak přece stane, žádné fatální následky to nemá. Tabulku ze zálohy nechám jen opravit ....

23.12.2008 23:32 xsouku04 | skóre: 7
Rozbalit Rozbalit vše Re: Bezpecna zaloha mysql

Jinak oprava poškozených tabulek to je věc problematická, to bych raději dělal ručně, ne automaticky.

V prvé řadě je kladena otázka. Proč k poškození vůbec došlo?  Nemělo by a pokud ano, je to podezřelé.

Buď vyply proud, mám vadný disk, nebo se databáze nějak pobláznila.  Těžko ji věřit s obnovou tabulek, možná je to už úplný blázen, raději bych zálohoval před obnovou tabulek.

Já jsem ještě nikdy bezdůvodně žádnou tabulku poškozenou neměl.

Opravy větších tabulkem mohou trvat celé hodiny.....

Spíš by bylo záhodno se o tom brzy dozvědět.

25.12.2008 17:05 moira | skóre: 30 | blog: nesmysly
Rozbalit Rozbalit vše Re: Bezpecna zaloha mysql
Odpovědět | | Sbalit | Link | Blokovat | Admin
Podle me, v okamziku kdy narazis na poskozenou tabulku je cas OBNOVOVAT a ne ZALOHOVAT!
Překladač ti nikdy neřekne: "budeme kamarádi"
31.12.2008 12:52 RapMan | skóre: 14 | blog: RapMan
Rozbalit Rozbalit vše Re: Bezpecna zaloha mysql
Odpovědět | | Sbalit | Link | Blokovat | Admin

Nejbezpecnejsi zpusob, ze kterym jsem se doposud setkal, je pouzit replikaci na jiny stroj, a ten pak zalohovat. Jedna aktivni zaloha je pak pripravena (v pripade hw havarie na prvnim stroji), v pripade omylneho smazani tabulky nebo databaze se stejny omyl zreplikuje i na druhy stroj, pak je pravy cas na to obnovit starsi zalohu vytvorenou na tom druhem stroji.

1.1.2009 13:32 David | skóre: 21 | Praha
Rozbalit Rozbalit vše Re: Bezpecna zaloha mysql
Odpovědět | | Sbalit | Link | Blokovat | Admin

Ahoj,

dle meho nazoru: replikace je zbytecne slozite reseni na to co potrebujete a jsou k tomu potreba dva stroje. Ja bych pouzil mysqldump s volbou --force no a jeste bych myisamchckem (jestli sou to myisam tabulky) kontroloval, zda jsou tabulky ok a kdyz ne, tak to rucne zpravil

 

S pozdravem,

David

2.1.2009 20:31 faha
Rozbalit Rozbalit vše Re: Bezpecna zaloha mysql
Odpovědět | | Sbalit | Link | Blokovat | Admin

Na Vasem miste bych se v prvni rade zajimal kde nebo proc se Vam poskozuji tabulky v DB, nedochazi k havarii mysql demona/vypadky napajeni, nepouzivate nejak bugovou verzi mysql, proste trochu zkoumat pricinu, samo od sebe se to jiste nedeje.

Nasledne pak muzete zalohovat bez problemu at uz jednoduse pomoci

napr. "zjednodusene" takto

DATE=`date +%Y%m%d`

mysqldump -u root -p heslo --all-databases | gzip > backup_mysql_$DATE.gz

nebo pomoci jiz zminovaneho AutoMysqlBackup script a nebo si napsat nejake svoje vlastni reseni, nedoporucuji rsyncovat ani jinak manipulovat primo se soubory databazi

(/var/lib/mysql apod). Replikace cele DB je zrejme pro Vas jako kanon na vrabce.

2.1.2009 20:49 j3nda | skóre: 14 | ostrava/brno
Rozbalit Rozbalit vše Re: Bezpecna zaloha mysql
zdravim, ja to konkretne resim takto:
/usr/bin/mysql --user=${MYSQL_USER} --password=${MYSQL_PASS} --host=${MYSQL_HOST} mysql << EOF | sed '1d' | while read LINE;
SHOW DATABASES;
EOF
do
    echo "  mysqldump (${LINE})";
    /usr/bin/mysqldump -B "${LINE}" -c -e -l -Q --complete-insert --user=${MYSQL_USER} --password=${MYSQL_PASS} --host=${MYSQL_HOST}| gzip > "${out_dir}/${LINE}.gz";
done
1x v noci spoustim skript, co dela gzip a nasledne rsync na jiny stroj.

taky se priklanim, aby se nemanipulovalo s binarkama /var/lib/mysql - obcas to sice funguje, ale clovek MUSI vedet co dela.
___---==~[ uxunilcba | baclniuxu ]~==---__sevrer_pnly_liunx-lkie_hcaricku__/libGDX-rulez-the-W0R7D!___
Dalibor Smolík avatar 3.1.2009 00:46 Dalibor Smolík | skóre: 54 | blog: Postrehy_ze_zivota | 50°5'31.93"N,14°19'35.51"E
Rozbalit Rozbalit vše Re: Bezpecna zaloha mysql
Odpovědět | | Sbalit | Link | Blokovat | Admin

Zálohuji do samostatných adresářů pro jednotlivé dny v týdnu a k tomu 2x měsíčně, eliminuji tím případné poškození tabulek, aby byla možná obnova z nejbližší verze, která byla ještě v pořádku.

Rozdíly v řeči a ve zvyklostech neznamenají vůbec nic, budeme-li mít stejné cíle a otevřená srdce.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.