← Uz sākumu

MySQL rezerves kopija

2005. gada 14. jūnijā, 14 komentāri

Reiz arī Tev pienāks tā diena, kad MySQL rezerves kopijas izveide aizņems ilgu laiku, jo datubāžu un tabulu apjomi būs pieauguši. Un tad Tu sapratīsi, ka mysqldump, mysqlsnapshot u.c. aizņem pārāk ilgu laiku. Un arī datu failu kopēšana vairs nav drošs pasākums. Apstādināt serveri uz šo laiku arī nav prāta darbs.

Tad nu nāk talkā risinājums, kurš manām vajadzībām (DB apjoms jau sen ir mērāms gigabaitos un sistēmai nav pieļaujams downtime) ir kā radīts.

Jums taču ir backup serveris, ne? Ja nav, tad iegādājiet. Noderēs.

Uz tā uzlieciet MySQL. Nokonfigurējiet backupojamo serveri, kā replikācijas “māsteri”. Tas darās ar vienu-divām rindiņām iekš my.cnf. Uz backup servera esošu MySQL, savukārt, nokonfigurējiet kā replikācijas “sleivu”.

Un tad jau jūs varat veidot snapšotus, pilnos datubāzes dampus un citas štelles, izmantojot kā izejas materiālu informāciju, kura ir “sleivā”.

Pie kam, problēmu (atteices:) gadījumā ir iespējams ātri nokonfigurēt “sleivu” par “māsteru”.

Sākot ar MySQL 4.1 4.0 uz “sleiva” var palaist komandu LOAD DATA FROM MASTER. Tas tad, ja ir labs savienojums starp abiem serveriem un ir pieņemami read locki uz visām datubāžu tabulām. Pretējā gadījumā, kā jau minēju - jātaisa snapshoti. Tie arī ģenerēs read lockus, bet darīs to uz īsāku laika brīdi.

Papildināts. Gan LOAD DATA FROM MASTER, gan mysqlsnapshot ir problēmas, ja pirmajā reizē replicējamo datu ir daudz. Abās reizēs pārāk dikti nolokojas viss serveris. Mēģināsim vēlreiz vakarā.

P.S. Sorry. Viens ir vedējserveris, bet otrs - sekotājserveris. Un ir pilnās datubāžu izmetes, nevis dumpi. Un momentuzņēmumi, nevis snapshoti. Un dublējumi (dublējumserveri), nevis rezerves kopijas, vai backupi.

Tu atbildi augstāk redzamajam komentāram. Atcelt

Gravatar Arturs

2005. gada 14. jūnijā, plkst. 10:46

Latviešu valodā "datubāžu" rakstās atsevišķi - "datu bāžu" :P

Gravatar hvz

2005. gada 14. jūnijā, plkst. 11:08

izmetes pie nopietniem bāžu izmēriem tak lieto tikai pilnīgākie frīki (nez kā šitas tulkojas?) :)

Gravatar DimanC

2005. gada 14. jūnijā, plkst. 12:05

hints par mysql noderīgs ;-)

laacz, lai nebūtu jāraksta "p.s.", varbūt Tu vari šo pasākumu automatizēt, un ļaut Tavas emuāra vietnes lūkotājiem izvēlēties - "original view" vai "latviskotais profils"...

Gravatar laacz

2005. gada 14. jūnijā, plkst. 12:06

DimanC: Ej Tu ieskrieties :)

Gravatar Livingston

2005. gada 14. jūnijā, plkst. 12:07

Padalies, cik tad GB ir ? Cik ilgi notiek backups un cik ilgi nevar garantēt, ka visās tabulās var pievienot ierakstus ? Un kādēļ MySQL lietotāji neizmanto InnoDB ? Man kaut kā škiet, ka tas atrisina daudz problēmu ...

Gravatar Arturs

2005. gada 14. jūnijā, plkst. 12:17

Tikko par ieskriešanos aņuku izlasīju. //Jūs esat jauns, talantīgs un komunikabls? Gribat strādāt saliedētā kolektīvā un saņemt mēnesī līdz 3000$? Gribat doties ārzemju komandējumos? Ejiet d***t! Mēs meklējam apkopēju un sētnieku.//

Gravatar e-remit

2005. gada 14. jūnijā, plkst. 12:51

laacz, Tavs pirmais teikums ir kļūdains. Man nepatīk MySQL, tāpēc maz ticams, ka pienāks tā diena kad man nāksies backupot MySQL. ;)

Gravatar moonlight

2005. gada 14. jūnijā, plkst. 14:45

Arturs: Žetons... :D :D :D

Gravatar ManInBlack

2005. gada 14. jūnijā, plkst. 16:14

Man metas sirmi mati, lasot šos latviskojumus. Ok, dublējumserveri vēl ir pieņemami, bet vēdējs un sekotājs.. kaut kā stulbi skan.

Gravatar watt

2005. gada 14. jūnijā, plkst. 18:18

ņem mysql stop; copy failus no datu direktorijas uz turieni, kur vajag; mysql start.

un tad jau lēnām replikāciju.

Gravatar watt

2005. gada 14. jūnijā, plkst. 18:20

(pirms start no mastera jāpadzēš visi binary log, vai arī jāatceras tekošā pozīcija un klientam jāsaka start replikāciju no pos tādsuntāds...)

Gravatar Maita

2005. gada 14. jūnijā, plkst. 19:03

Edij, un ko tu iesaki? Latviskojumi skan ļoti daiļi. Žēl, ka tos lieto tikai progresīvi un drosmīgi cilvēki! :-P

Gravatar ulzha

2005. gada 15. jūnijā, plkst. 14:39

(rano setapa ekzi, agrīmento licenzi, pušo nekstus un finišo)