Avatar billede Slettet bruger
30. januar 2003 - 16:24 Der er 14 kommentarer og
2 løsninger

Flytning af 1 GB database

Hvordan flytter jeg en 1 GB stor database til en ny server? Hvis jeg bruger mysqldump kan jeg sætte den nye server til at importere data i flere dage. Og jeg kan ikke bare kopiere de rå databasefiler da der allerede findes data på den nye server.
Avatar billede lauer Nybegynder
30. januar 2003 - 16:33 #1
du er nødt til at lave en dump, men gør det via programmet mysqldump, og ikke phpmyadmin.
Det samme når du sætter den ind igen, det kan du også gøre med en comando.
Det kan godt være at det tager lang tid.. men det er prisen.
Avatar billede Slettet bruger
30. januar 2003 - 16:49 #2
Ja... det er netop hvad jeg gør. Og det tager flere dage...
Avatar billede dsj Nybegynder
30. januar 2003 - 16:53 #3
Du kan få phpmyadmin til at lave (og sende dig) en zippet dump af en eller flere tabeller med en faktor 10... Det tror jeg er det mest effektive
Avatar billede sukos Juniormester
30. januar 2003 - 16:55 #4
De nye data fylder vel ik' så meget endnu?
Altså først smide de gamle ind med simpel "copy/paste" og dernæst opdatere med nye data?
Avatar billede dsj Nybegynder
30. januar 2003 - 16:55 #5
Hvis du tager en dump af tabellerne hver for sig og importerer dem hver for sig, kan du mens du importerer filen, låse den aktuelle tabel. Det gør at operationen kører en del hurtigere, ISÆR når mange rækker skal indlæses.
Avatar billede dsj Nybegynder
30. januar 2003 - 16:58 #6
For mig tog det for at importere 5 MB 90 sekunder på en ret langsom maskine (133 MHz pentium og 64 MB Ram). På den samme maskine vil 1 GB så tage 300 minutter eller 5 timer. Er maskinen på 1 GHz eller hurtigere går der en time.. :)
Avatar billede Slettet bruger
30. januar 2003 - 17:00 #7
Hvordan låser jeg tabellen?
Avatar billede dsj Nybegynder
30. januar 2003 - 17:04 #8
http://www.mysql.com/documentation/mysql/bychapter/manual_Reference.html#LOCK_TABLES

eller kortere:

LOCK TABLES tbl_name [AS alias] {READ [LOCAL] | [LOW_PRIORITY] WRITE}
            [, tbl_name [AS alias] {READ [LOCAL] | [LOW_PRIORITY] WRITE} ...]
...
UNLOCK TABLES
Avatar billede morw Nybegynder
30. januar 2003 - 18:36 #9
Brug  "--opt"     

Bruger selv:

/usr/local/bin/mysqldump -u root -pminkode --opt --all-databases > /disken/backup/mysqlbackup.sql



taget fra "man mysqldump":


--opt  Same  as    --add-drop-table  --add-locks  --all
              --extended-insert --quick --lock-tables
Avatar billede Slettet bruger
30. januar 2003 - 18:49 #10
Ja, det er desværre ikke dumpet, som tager lang tid :)
Avatar billede morw Nybegynder
30. januar 2003 - 19:00 #11
Jamen er dit dump lavet med --extended-insert og --add-locks ??

      -e|--extended-insert
              Use  the  new  multiline INSERT syntax. (Gives more
              compact and faster inserts statements.)


      --add-locks
              Add locks around insert statements.
Avatar billede miraculix Nybegynder
30. januar 2003 - 23:20 #12
Har du set på LOAD DATA INFILE ?
Den skulle vist være ret kvik. Du skal så også eksportere med SELECT --- INTO OUTFILE...

Det er noget mere bøvlet med en stor DB, men måske er det hurtigere.. Jeg har kun brugt dene til import af eksterne data men kig på:

http://www.mysql.com/documentation/mysql/bychapter/manual_Reference.html#LOAD_DATA
Avatar billede a1a1 Novice
31. januar 2003 - 01:09 #13
øøøhhhh

jeg har da flere gange bare stoppet mySQL serveren, kopieret min databaser ind i mappen og når jeg starter mySQL igen så er der nye tabeller og databaser (hvis der er ændringer)

;)
Avatar billede miraculix Nybegynder
31. januar 2003 - 09:26 #14
a1 >> Jamen det kan han jo ikke hvis data fra ny og gammel server skal merges
Avatar billede a1a1 Novice
31. januar 2003 - 22:07 #15
ups, sorry det havde jeg overset
Avatar billede eksperten1 Nybegynder
02. februar 2003 - 23:11 #16
Hvad med at dumpe de nye data, formentligt færre, importere dem i den gl. db, dernæst kopiere databaserne ind i /data/. Det må da være den hurtigste metode. Jeg har siddet og rodet med at flytte 100MB og UHA det tog lang tid at dumpe og importere på en 2G P4, så jeg ville da nødig vente på 1GB data.

My $0.02
E1
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester