mysqldump error

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
Benutzeravatar
rene04
Beiträge: 1751
Registriert: 26.08.2004 08:46:39
Wohnort: Kaiserslautern

mysqldump error

Beitrag von rene04 » 29.07.2005 09:28:35

Hallo,

ich versuche eine MySQL Datenbank zu sichern. Dazu benutze ich mysqldump.

Code: Alles auswählen

mysqldump wikidb > /home/blablub/wikidb.sql
frage: ist die angabe der datenbank korrekt? was ist der name der datenbank? das verzeichnis in dem die ganzen dateien liegen?

leider bekomme ich noch ne fehlermeldung:

Code: Alles auswählen

mysqldump: got error: 1045: Access denied for user: 'root@localhost' (Using password: NO) when trying to connect.
das ist ärgerlich. wie bekomm ich das hin?

gruesse rene

Benutzeravatar
HELLinG3R
Beiträge: 1328
Registriert: 15.04.2004 07:54:33

Beitrag von HELLinG3R » 29.07.2005 09:55:49

sehr warscheinlich hast du ein rootpasswort gesetzt.
standardmässig versucht mysql aus den umgebungsvariablen den user zu benutzen, mit dem du eingeloggt bist, um sich zum mysqld zu verbinden.
das ist in deinem fall root.

verusche die option -p mitzugeben, evtl zusätzlich -u falls du einen anderen user wünschst.

schau dir für regelmässige backups auch "mysqlhotcopy" an.

Benutzeravatar
rene04
Beiträge: 1751
Registriert: 26.08.2004 08:46:39
Wohnort: Kaiserslautern

Beitrag von rene04 » 29.07.2005 09:58:19

Hallo,

ja, das ist richtig. Ich hatte Anfangs ein root passwort gesetzt. mit der option -p funktioniert es nun.
vielen dank.

gruesse rene

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Beitrag von mistersixt » 29.07.2005 09:59:50

Zur Not kannst Du die gesamte DB auch per tar und bzip2 teeren und federn, also sowas in etwa:

Code: Alles auswählen

cd /var/lib/mysql/wikidb
tar cf - * | gzip -3 -c > /tmp/wikidb.tar.gz
Das sollte man aber nur dann machen, wenn nicht gerade in die DB geschrieben wird.

Gruss, mistersixt.
--
System: Debian Bookworm, 6.5.x.-x-amd64, ext4, AMD Ryzen 7 3700X, 8 x 4.0 Ghz., Radeon RX 5700 XT, 16 GB Ram, XFCE

Benutzeravatar
rene04
Beiträge: 1751
Registriert: 26.08.2004 08:46:39
Wohnort: Kaiserslautern

Beitrag von rene04 » 29.07.2005 10:03:52

ich bevorzuge die methode im laufenden betrieb. trotzdem danke für den tip. drüber nachgedacht hab ich schon. anfangs wollt ich das so machen über nen cron job nachts, aber mysqldump is mir dann doch lieber.

gruesse rene

Benutzeravatar
HELLinG3R
Beiträge: 1328
Registriert: 15.04.2004 07:54:33

Beitrag von HELLinG3R » 29.07.2005 10:07:19

@mister, das klappt wirklich NUR wenn keine Zugriffe stattfinden, was bei einem db server eigentlich nicht abschätzbar ist.
Zur vorsicht sollte man den server herunterfahren, für die zeit des Tarvorgangs.

Dann doch lieber mysqlhotcopy, zumal das im laufenden betrieb klappt und trotzdem sicher funktioniert.
und es ist einfach:

Code: Alles auswählen

mysqlhotcopy -u root -p ******** -h 127.0.0.1 -q --method=cp --regexp `ls /mysql` /BACKUP/mysql/build
Der einzige nachteil ist, dass hierbei das Passwort per ps auslesbar ist :/
aber das sollte sich umgehen lassen, indem man ein `cat password.txt` einbaut :)

Benutzeravatar
mistersixt
Beiträge: 6601
Registriert: 24.09.2003 14:33:25
Lizenz eigener Beiträge: GNU Free Documentation License

Beitrag von mistersixt » 29.07.2005 14:11:37

HELLinG3R hat geschrieben:@mister, das klappt wirklich NUR wenn keine Zugriffe stattfinden, was bei einem db server eigentlich nicht abschätzbar ist.
Zur vorsicht sollte man den server herunterfahren, für die zeit des Tarvorgangs.
Ja, deshalb meine Warnung. Ich habe viele mysql-Datenbanken zu sichern, die sind aber nachts alle absolut inaktiv, daher geht das per cron so am Einfachsten.

Gruss, mistersixt.
--
System: Debian Bookworm, 6.5.x.-x-amd64, ext4, AMD Ryzen 7 3700X, 8 x 4.0 Ghz., Radeon RX 5700 XT, 16 GB Ram, XFCE

Benutzeravatar
rene04
Beiträge: 1751
Registriert: 26.08.2004 08:46:39
Wohnort: Kaiserslautern

Beitrag von rene04 » 01.08.2005 08:45:01

hallo,

ich habe den mysqldump befehl nun in einen cron job gepackt und siehe da: debian kennt den befehl nicht! wenn ich ihn in der shell direkt eingebe gehts problemlos. muss ich da im script den pfad angeben? wie lautet dieser?

gruesse rene

Benutzeravatar
Savar
Beiträge: 7174
Registriert: 30.07.2004 09:28:58
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Berlin

Beitrag von Savar » 01.08.2005 09:30:44

mach in der Konsole einfach

Code: Alles auswählen

which mysqldump
MODVOICE/MYVOICE
Debianforum Verhaltensregeln
Log Dateien? -> NoPaste

Benutzeravatar
dominator
Beiträge: 790
Registriert: 26.08.2003 10:05:37
Wohnort: Neuerdings meistens im Bierparadies Oberfranken

Beitrag von dominator » 01.08.2005 09:45:51

In cronjobs gibt es keine Umgebungsvariablen => immer die kompletten Pfade angeben :idea:
gruss + viel erfolg

Michael
--
Aus aktuellem Anlass :
"Der Glubb is a Depp" - Fränkische Weisheit

Benutzeravatar
rene04
Beiträge: 1751
Registriert: 26.08.2004 08:46:39
Wohnort: Kaiserslautern

Beitrag von rene04 » 01.08.2005 12:12:11

hallo,

danke, hab den pfad eingtragen. mal sehen obs klappt heut nacht.

gruesse rene

Antworten