godt og se du ikke er til at løbe om hjørner med :D Jeg har siddet og kigget det lidt igennem, og det er for mig at se noget af en hovedpine...
1. Jeg skal lave et script der lister igennem alle databaser. 2. Jeg skal lave et script der udfører mysqldump for alle baserne i ovenstående liste. 3. Jeg skal schedulere min scripts.
Jeg søger nok et lidt hurtigere og gennem prøvet løsning, i forhold til at jeg selv skal til at sidde og hakke mig igennem det. Jeg kan umuligt være den eneste der har en MySQL installation på Windows (så havde der nok ikke været i nt distribution), som ønsker at tage backup af mine databaser.
Endvidere skal det nok lige påpeges at databaserne benyttes til webapps, så der er ikke noget tidspunkt på døgnet jeg med sikkerhed kan sige at der ikke er åbne conns. og at der ikke bliver udført inserts eller updates.
Eftersom mine MySQL bruges til webapps (i flertal), så bliver jeg nød til at stoppe iis'en, for derefter at kører dump på alle databaserne (eller alle på en gang --all-databases), for til sidst at starte iis'en igen.
Hvis mysqldump låser tabellerne før dump, så burde det da ikke være nødvendigt at dræbe alle conns først ?
newage > Den stump kode du har angivet, ser jo ganske simpel ud. Hvorledes skal den håndteres såfremt jeg ønsker at kører den i en schedule hver nat ? .bat fil + windows scheduler ?
sth > Først og fremmest er jeg ligeglad med at omdøbe filen til "dato-klokkeslet", eftersom jeg smider den over på et tapedrev bagefter. Endvidere ser det ud til at dit script kun tager backup af en enkelt db af gangen.
Jeg er desværre ikke herre over alle webapps'ne, så der er ikke mange andre muligheder. Hvis jeg skal til at lukke iis'en for at tage backup, kan det jo give op til ½-1 times nedetid hver nat, og det er svært acceptabelt.
(fordi den låser tabeller enkeltvis) - Er det ikke godt nok, eller hvad er det jeg ikke forstår i den sætning ?
Det må da være muligt at lave en hotcopy, som ikke kræver isolering af databaserne (f.eks ved at den enkelte database eller tabel lukkes ned)
Hvis der ikke er nogle applikationer som bruger mere end 1 database så kan du nøjes med at lukke for adgang til en database ad gangen.
Nu ved jeg ikke hvor store dine databaser er men 30-60 minutter lyder meget stort. Hvis du kan dumpe 20000 rækker i sekundet så er det 72 millioner rækker.
Hvordan vil du lukke for adgangen til en database ad gangen ?
ok måske lidt overdrevet! Jeg ved ikke hvormange tubler jeg kan dumpe i sek. men jeg ved at jeg har adskellige store databaser (min. 3 stk. af min. 2 mill tubler i hver installation som vokser med ca. 10K tubler hver dag)
de fleste databaser har mulighed for at tage en enkelt database ud men jeg tvivler faktisk på at man kan det far mysql
men jeg gætter på at der er en logisk sammenhæng mellem web apps og databaser så du kan gøre en enkelt database klar til backup ved at stoppe den tilhørende web app
Har lige lavet et lille test, og det ser faktisk ud til at kunne klares på ca. 10. min pr. mysql server.
Så hvis jeg vil skære ned på det er jeg ude i sådan noget her grisseri...
1. Loop igennem databaser 2. For hver database, find tilhørende site 3. Stop site ved brug af iisweb[.vbs] {/delete | /start | /stop | /pause} WebSite [WebSite...] [/s Computer [/u [Domain\]User [/p Password]]] 4. Backup database 5. Start website igen.
Jeg er overordenet fan af simplicitet, og jeg bliver mere og mere rynkede af dette her. :) Der må findes en måde, hvorpå jeg ikke skal sidde og scripte iis stops, dumps etc. selv. (Damn mysql)
misbruger > tak for dit pæne svar, jeg prøvede blot at komme med et forslag, jeg beklager men jeg havde regnet med at du selv havde fantasi til at rette det til, så du fik alle database med, og at du ligsså selv kunne rette så du fik det filnavn du ønskeder, men som jeg skrev "hvis det ikke er forstålig kan jeg evt. bruge lidt tid på at lave det", men glem da alt om det nu.
Synes godt om
Slettet bruger
27. maj 2005 - 17:54#20
Alt afhængig af om du bruger MyISAM- eller InnoDB-tabeller kan du låse enten på tabelniveau eller globalt (databaseniveau)
Har ingen cross db references. Tabellerne er MyISAM
Hvad skal jeg gøre med dette script... - Tilrette stier til mysqldump og backupmappe osv. - Ligge det i en bat fil - Sætte en windows schedule til at eksekvere den hver nat
sth > Jeg prøver ikke at pisse nogen af, jeg er tværvt imod meget taknemlig for jeres hjælp. Jeg er dog lidt i vildrede over at det skal være så omstændigt at sætte det i rutine (kan selvf. være min egen langsommelige opfattelsesevne :)
Igen til jer alle... jeg er MEGET taknemlig for jeres hjælp!
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.