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.
1 Arturs @ 10:46 (2005. gada 14. jūnijs)
Latviešu valodā "datubāžu" rakstās atsevišķi — "datu bāžu" :P
2 hvz @ 11:08 (2005. gada 14. jūnijs)
izmetes pie nopietniem bāžu izmēriem tak lieto tikai pilnīgākie frīki (nez kā šitas tulkojas?) :)
3 DD @ 11:42 (2005. gada 14. jūnijs)
ņenagļej!
4 DimanC @ 12:05 (2005. gada 14. jūnijs)
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"…
5 laacz @ 12:06 (2005. gada 14. jūnijs)
DimanC: Ej Tu ieskrieties :)
6 Livingston @ 12:07 (2005. gada 14. jūnijs)
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 …
7 Arturs @ 12:17 (2005. gada 14. jūnijs)
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.
8 e-remit @ 12:51 (2005. gada 14. jūnijs)
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. ;)
9 moonlight @ 14:45 (2005. gada 14. jūnijs)
Arturs: Žetons… :D :D :D
10 ManInBlack @ 16:14 (2005. gada 14. jūnijs)
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.
11 watt @ 18:18 (2005. gada 14. jūnijs)
ņem mysql stop; copy failus no datu direktorijas uz turieni, kur vajag; mysql start.
un tad jau lēnām replikāciju.
12 watt @ 18:20 (2005. gada 14. jūnijs)
(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…)
13 Maita @ 19:03 (2005. gada 14. jūnijs)
Edij, un ko tu iesaki? Latviskojumi skan ļoti daiļi. Žēl, ka tos lieto tikai progresīvi un drosmīgi cilvēki! :–P
14 ulzha @ 14:39 (2005. gada 15. jūnijs)
(rano setapa ekzi, agrīmento licenzi, pušo nekstus un finišo)