/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
mysqldump og backup
Fra : Claus Kühle


Dato : 14-08-03 21:49

Hej gruppe

Jeg er ved at rive hårene ud af hovedet. Jeg har en mysqldatabase på min
mandrake 9,1 box. Jeg ønsker at lave en backup af en enkel database. Jeg ved
hjælp af google og man mysqldump fundet frem til følgende.

som root skiver jeg:
mysqldump databasenavn > /en/mappe/dumpdatabasenavn.sql

når jeg så vil genskabe databasen på en anden mandrake 9,1 kører jeg:
mysql databasenavn < /en/mappepåandenserver/dumpdatabasenavn.sql

Jeg har via phpmyadmin oprettet databasen og det samme brugernavn og passwd
i mysql.

Når jeg så tilgår databasen via en phpside giver den følgende fejl:
You have an error in your SQL syntax. Check the manual that corresponds to
your MySQL server version for the right syntax to use near '' at line 17

Nogen der kan give nogle pointers?
er det et mysqlbrugerproblem.
et mysqlopsætningsproblem.

Findes der et alternativ til mysqldump og mysqlhotcopy?

Claus Kühle



 
 
Jan Birk (15-08-2003)
Kommentar
Fra : Jan Birk


Dato : 15-08-03 06:39

>
> Nogen der kan give nogle pointers?
> er det et mysqlbrugerproblem.
> et mysqlopsætningsproblem.

Du skal nok nærmere lede i din phpside, linie 17

/jb


Anders Keldsen (15-08-2003)
Kommentar
Fra : Anders Keldsen


Dato : 15-08-03 08:49

Claus Kühle wrote:
> Hej gruppe
>
> Jeg er ved at rive hårene ud af hovedet. Jeg har en mysqldatabase på min
> mandrake 9,1 box. Jeg ønsker at lave en backup af en enkel database. Jeg ved
> hjælp af google og man mysqldump fundet frem til følgende.
>
> som root skiver jeg:
> mysqldump databasenavn > /en/mappe/dumpdatabasenavn.sql
>
> når jeg så vil genskabe databasen på en anden mandrake 9,1 kører jeg:
> mysql databasenavn < /en/mappepåandenserver/dumpdatabasenavn.sql
>
> Jeg har via phpmyadmin oprettet databasen og det samme brugernavn og passwd
> i mysql.
>
> Når jeg så tilgår databasen via en phpside giver den følgende fejl:
> You have an error in your SQL syntax. Check the manual that corresponds to
> your MySQL server version for the right syntax to use near '' at line 17
>
> Nogen der kan give nogle pointers?
> er det et mysqlbrugerproblem.
> et mysqlopsætningsproblem.
>
> Findes der et alternativ til mysqldump og mysqlhotcopy?
>
> Claus Kühle
>
>

Hvis du alligevel bruger phpMyAdmin, så kan man nemt dumpe både struktur
og data derfra - det har jeg haft stor success med.

Anders Keldsen


Sonni Skammelsen (15-08-2003)
Kommentar
Fra : Sonni Skammelsen


Dato : 15-08-03 10:56


"Claus Kühle" <nyheder@guntrax.dk> wrote in message
news:bhgskp$thg$1@news.cybercity.dk...
> Hej gruppe
>
>
> som root skiver jeg:
> mysqldump databasenavn > /en/mappe/dumpdatabasenavn.sql
>
> når jeg så vil genskabe databasen på en anden mandrake 9,1 kører jeg:
> mysql databasenavn < /en/mappepåandenserver/dumpdatabasenavn.sql
>
Såvidt jeg husker skal man ikke angive et databasenavn når man vil restore
den.
Og hvis du har data i den eksisterende database på backupmaskinen og den
skal være en kopi af den anden skal du have drop table med når du dumper
databasen i.e.

mysqldump --add-drop-table databasenavn > /en/mappe/dumpdatabasenavn.sql
og så på backup maskinen
mysql < /en/mappepåandenserver/dumpdatabasenavn.sql

/Sonni



Claus Kühle (15-08-2003)
Kommentar
Fra : Claus Kühle


Dato : 15-08-03 18:21


"Claus Kühle" <nyheder@guntrax.dk> skrev i en meddelelse
news:bhgskp$thg$1@news.cybercity.dk...
> Hej gruppe
Jeg prøvede at dumpe via phpMyAdmin på den ene maskine og restore
(read_dump) via phpMyAdmin på den anden maskine med følgende fejl:

Fejl
SQL-forespørgsel :

--
---------------------------------------------------------
--
--

CREATE TABLE mrbs_area (
id int(11) NOT NULL auto_increment,
area_name varchar(30) default NULL,
PRIMARY KEY (id)
) TYPE=MyISAM

MySQL returnerede:


You have an error in your SQL syntax. Check the manual that corresponds to
your MySQL server version for the right syntax to use near
'---------------------------------------------------------
--
Nogen forklaring?Venlig hilsenClaus Kûhle



Thomas D (15-08-2003)
Kommentar
Fra : Thomas D


Dato : 15-08-03 20:06

Claus Kühle wrote:
> "Claus Kühle" <nyheder@guntrax.dk> skrev i en meddelelse
> news:bhgskp$thg$1@news.cybercity.dk...
>> Hej gruppe
> Jeg prøvede at dumpe via phpMyAdmin på den ene maskine og restore
> (read_dump) via phpMyAdmin på den anden maskine med følgende fejl:
>
[...]

har du tjekket at det er samme version af mysql på begge servere?

--
Med venlig hilsen
Thomas D
http://tdn.peps.dk
Musikere tjener penge på ulovligt kopieret software.



Jimmy (15-08-2003)
Kommentar
Fra : Jimmy


Dato : 15-08-03 21:28

> "Claus Kühle" <nyheder@guntrax.dk> skrev i en meddelelse
> news:bhgskp$thg$1@news.cybercity.dk...
> > Hej gruppe
> Jeg prøvede at dumpe via phpMyAdmin på den ene maskine og restore
> (read_dump) via phpMyAdmin på den anden maskine med følgende fejl:


Jeg tror du har dumpet via mysqldump og restorer via phpmyadmin


mysqldump formaterer output med bindestreger foran tabeloprettelser, men da
det ikke er valid SQL svarer phpmyadmin:


> MySQL returnerede:
>
>
> You have an error in your SQL syntax. Check the manual that corresponds
to
> your MySQL server version for the right syntax to use near
> '---------------------------------------------------------


Længden på ovenstående streng (som du siger kommer fra et phpmyadmin-dump)
er præcis samme længde som denne fra et af mine mysqldump-dump:

---------------------------------------------------------


Jeg har ikke haft held med at få phpmyadmin til at restore databaser, da de
versioner jeg har haft adgang til ikke har kunnet håndtere filer over 1 mb
selvom både php og phpmyadmin var sat op til at tillade dette.


Jeg har haft held med følgende to måder:

1 - dump via mysqldump - restore via mysql-prompt
2 - dump via mysqldump/phpmyadmin - restore via cut'n'paste af hele filen i
Windows-applikationen mysqlfront

Mvh
Jimmy




Peter Brodersen (15-08-2003)
Kommentar
Fra : Peter Brodersen


Dato : 15-08-03 21:50

On Fri, 15 Aug 2003 22:27:47 +0200, "Jimmy" <nyhedsgruppe@get2net.dk>
wrote:

>mysqldump formaterer output med bindestreger foran tabeloprettelser, men da
>det ikke er valid SQL svarer phpmyadmin:

Tjah - PHPMyAdmin skal under alle omstændigheder parse inputtet, da
man fx heller ikke kan fyre flere queries af uden videre... ";" har
ikke noget med mysql-serveren at gøre, men er en klient-specifik
detalje.

"--" er kommentarlinjer, som klienten ligeledes skal sørge for at
strippe.

Følgende input til en gammel PHPMyAdmin 2.3.0 fungerer fx fint:

-- Foo
INSERT INTO foo (bar) VALUES ('baz');
-- Bar
INSERT INTO foo (bar) VALUES ('vob');

--
- Peter Brodersen

Ugens sprogtip: ærgerligt (og ikke ærgeligt)

Claus Kühle (16-08-2003)
Kommentar
Fra : Claus Kühle


Dato : 16-08-03 14:27



Jeg fandt problemet.. Der manglede php.ini på modtagerserveren. Det var
således ikke mine dumps og restores der var gale, men oversættelsen i php..

Det fungerer med:
mysqldump databasenavn > /en/mappe/dumpdatabasenavn,
derefter:
mysql databasenavn < /en/mappepåandenserver/dumpdatabasenavn

Nu mangler jeg bare et cronscript til at køre det automatisk...

Havde tænkt på:
#!/bin/sh
/usr/bin/mysqldump databasenavn > /en/mappe/dumpdatabasenavn
Men vil gerne have datereret datafilen

Tak for inputs..

Claus Kühle



Peter Brodersen (16-08-2003)
Kommentar
Fra : Peter Brodersen


Dato : 16-08-03 15:20

On Sat, 16 Aug 2003 15:26:40 +0200, "Claus Kühle" <nyheder@guntrax.dk>
wrote:

>Havde tænkt på:
>#!/bin/sh
> /usr/bin/mysqldump databasenavn > /en/mappe/dumpdatabasenavn
>Men vil gerne have datereret datafilen

#!/bin/sh
THISDATE=`date +%Y%m%d`
/usr/bin/mysqldump databasenavn > /en/mappe/dumpdatabasenavn.$THISDATE

--
- Peter Brodersen

Ugens sprogtip: ærgerligt (og ikke ærgeligt)

Claus Kühle (17-08-2003)
Kommentar
Fra : Claus Kühle


Dato : 17-08-03 18:59


"Peter Brodersen" <usenet@ter.dk> skrev i en meddelelse
news:bhlegq$kba$1@dknews.tiscali.dk...
> On Sat, 16 Aug 2003 15:26:40 +0200, "Claus Kühle" <nyheder@guntrax.dk>
> wrote:
> #!/bin/sh
> THISDATE=`date +%Y%m%d`
> /usr/bin/mysqldump databasenavn > /en/mappe/dumpdatabasenavn.$THISDATE
Tusind tak, det var lige det jeg søgte.

Claus Kühle



Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408952
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste