Kann man mit mysqlhotcopy zwischen verschiedenen Servern sichern ?

Kann man mit mysqlhotcopy zwischen verschiedenen Servern sichern ?

am 20.11.2006 15:04:34 von tttttt

Guten Tag,

ich möchte eine Datenbanksicherung auf einen anderen Linux - Server
vornehmen. Ich habe mit mysqlhotcopy auf dem selben Server eine
Sicherung vorgenommen. Kann ich mit dem mysqlhotcopy-Befehl direkt auf
einen anderen Rechner sichern ?=20

Mit freundlichen Grüßen
Erkan Y.

Re: Kann man mit mysqlhotcopy zwischen verschiedenen Servern sichern ?

am 20.11.2006 15:41:38 von Axel Schwenke

tttttt@gmx.de wrote:
~~~~~~~~~~~~~
Bitte hier noch einen Realnamen angeben

> ich möchte eine Datenbanksicherung auf einen anderen Linux - Server
> vornehmen. Ich habe mit mysqlhotcopy auf dem selben Server eine
> Sicherung vorgenommen. Kann ich mit dem mysqlhotcopy-Befehl direkt auf
> einen anderen Rechner sichern ?

Ja. Die offizielle Dokumentation empfiehlt, die POD Dokumentation in
mysqlhotcopy (das ist ein Perl-Skript) zu Rate zu ziehen:

~ $perldoc mysqlhotcopy
MYSQLHOTCOPY(1)User Contributed Perl DocumentationMYSQLHOTCOPY(1)

NAME
mysqlhotcopy - fast on-line hot-backup utility for local
MySQL databases and tables

SYNOPSIS
....
mysqlhotcopy --method='scp -Bq -i /usr/home/foo/.ssh/identity'
--user=root --password=secretpassword \
db_1./^nice_table/ user@some.system.dom:~/path/to/new_directory
....


Allerdings solltest du dir das gut überlegen: mysqlhotcopy hält während
des Kopierens alle betroffenen Tabellen gelockt. Da das Kopieren über
das Netz vermutlich länger dauert als lokales Kopieren, verlängerst du
dadurch die Zeit, in der deine Tabellen gelockt - also praktisch
unbenutzbar sind. Unter diesem Gesichtspunkt ist es besser, erst lokal
zu kopieren und dann die Daten über das Netzwerk zu schieben.

Analoge Überlegungen gelten übrigens für die on-the-fly Kompression,
z.B. in Verbindung mit mysqldump.


XL

Re: Kann man mit mysqlhotcopy zwischen verschiedenen Servern sichern ?

am 20.11.2006 22:24:45 von Monty Muth

Hi Axel

> "Axel Schwenke" schrieb im Newsbeitrag
> news:2resje.243.ln@xl.homelinux.org...
> mysqlhotcopy --method='scp -Bq -i /usr/home/foo/.ssh/identity'
> --user=root --password=secretpassword \
> db_1./^nice_table/
> user@some.system.dom:~/path/to/new_directory
> Allerdings solltest du dir das gut überlegen: mysqlhotcopy hält während
> des Kopierens alle betroffenen Tabellen gelockt. Da das Kopieren über
> das Netz vermutlich länger dauert als lokales Kopieren, verlängerst du
> dadurch die Zeit, in der deine Tabellen gelockt - also praktisch
> unbenutzbar sind. Unter diesem Gesichtspunkt ist es besser, erst lokal
> zu kopieren und dann die Daten über das Netzwerk zu schieben.
>
> Analoge Überlegungen gelten übrigens für die on-the-fly Kompression,
> z.B. in Verbindung mit mysqldump.
>
>
> XL

Mysqldump und Mysqlhotcopy blockieren die Tabellen die sie gerade kopieren.
Gibt es noch eine andere Möglichkeit ein komplettes Backup einer Datenbank
zu machen, ohne dass die Tabellen blockiert werden?

Wir machen die Mysql-Backups zur Zeit von einem Slave der die Master-DB
repliziert.

Gruß
Monty

Re: Kann man mit mysqlhotcopy zwischen verschiedenen Servern sichern ?

am 21.11.2006 09:52:23 von Axel Schwenke

"Monty Muth" wrote:
> Hi Axel
>
>> "Axel Schwenke" schrieb

>> Allerdings solltest du dir das gut überlegen: mysqlhotcopy hält während
>> des Kopierens alle betroffenen Tabellen gelockt. Da das Kopieren über
>> das Netz vermutlich länger dauert als lokales Kopieren, verlängerst du
>> dadurch die Zeit, in der deine Tabellen gelockt - also praktisch
>> unbenutzbar sind. Unter diesem Gesichtspunkt ist es besser, erst lokal
>> zu kopieren und dann die Daten über das Netzwerk zu schieben.
>>
>> Analoge Überlegungen gelten übrigens für die on-the-fly Kompression,
>> z.B. in Verbindung mit mysqldump.
>
> Mysqldump und Mysqlhotcopy blockieren die Tabellen die sie gerade kopieren.

Genauer gesagt setzen sie ein Read-Lock. Die Tabellen können also
gelesen, aber nicht beschrieben werden. Bei InnoDB kommt zumindest
mysqldump ohne Locks aus (--single-transaction)

> Gibt es noch eine andere Möglichkeit ein komplettes Backup einer Datenbank
> zu machen, ohne dass die Tabellen blockiert werden?

Für InnoDB-Tabellen gibt es ein kommerzielles Hotbackup-Tool bei
www.innodb.com.

> Wir machen die Mysql-Backups zur Zeit von einem Slave der die Master-DB
> repliziert.

Das ist der empfohlene Weg, wenn man sich keine Locks auf der Master-
Datenbank leisten will.


XL

Re: Kann man mit mysqlhotcopy zwischen verschiedenen Servern sichern ?

am 21.11.2006 11:53:06 von tttttt

> mysqlhotcopy --method=3D'scp -Bq -i /usr/home/foo/.ssh/identity'
> --user=3Droot --password=3Dsecretpassword \
> db_1./^nice_table/ user@some.system.dom:~/path/to/new_dir=
ectory

Hallo,
reicht es nicht bei --method einfach scp einzugeben ? Passwort und
User kann ich doch weglassen oder ? Reicht es nicht einfach die
Datenbank anzugeben ?

Ich habe

mysqlhotcopy --method=3D'scp' Datenbank root@198....:/Pfad

eingeben. Danach wurde ich nach dem Passwort gefragt, danach hat er
alles kopiert. Das Verzeichnis habe ich vorher angelegt. Ist dass O.K.
Oder muss ich trotzdem --method=3D'scp -Bq -i
/usr/home/foo/.ssh/identity' angeben ?

Es geht mir darum, dass mir nichts verloren geht.

Grüße Erkan

Re: Kann man mit mysqlhotcopy zwischen verschiedenen Servern sichern ?

am 21.11.2006 12:10:35 von Christian Schmelzer

tttttt@gmx.de wrote:
>> mysqlhotcopy --method='scp -Bq -i
>> /usr/home/foo/.ssh/identity' --user=root
>> --password=secretpassword \ db_1./^nice_table/
>> user@some.system.dom:~/path/to/new_directory
>
> Hallo,
> reicht es nicht bei --method einfach scp einzugeben ? Passwort und
> User kann ich doch weglassen oder ? Reicht es nicht einfach die
> Datenbank anzugeben ?
>
> Ich habe
>
> mysqlhotcopy --method='scp' Datenbank root@198....:/Pfad
>
> eingeben. Danach wurde ich nach dem Passwort gefragt, danach hat er
> alles kopiert. Das Verzeichnis habe ich vorher angelegt. Ist dass O.K.
> Oder muss ich trotzdem --method='scp -Bq -i
> /usr/home/foo/.ssh/identity' angeben ?
>
> Es geht mir darum, dass mir nichts verloren geht.
>
> Grüße Erkan

Hallo,
obwohl Method "scp" nicht vertrauenswürdig klingt (siehe --help bzw.
perldoc):

--method=# method for copy (only "cp" currently supported)

und

method for copy (only "cp" currently supported). Alpha support for "scp" was
added in November 2000. Your experience with the scp method will vary with
your ability to understand how scp works. 'man scp' and 'man ssh' are your
friends.

Christian