Jeff Schroeder wrote:
Dave asked:

I need to copy a MySQL database fast.

If the servers (source and destination) are on the same LAN, you might consider using rsync. For example, let's say your database is called "dave" and is in /var/mysql/dave. Shut down MySQL on both servers and on the destination (the one you're copying to) do something like this:

# cd /var/mysql
# rsync -avz --rsh=ssh source:/var/mysql/dave .

Where "source" is the name or IP address of the source server.

This copies the binary MySQL files directly, saving a lot of the overhead of creating SQL dumps and so forth.

If the servers aren't on a LAN together or for some other reason rsync won't work, you could just create a tar archive of the source, copy the archive to the destination, and untar it.

[on source]
# cd /var/mysql
# tar zcf dave.tar.gz dave

Note that both of these methods assume MySQL isn't running while you're doing the copy (because if it is, you run the risk of data corruption) and also that the MySQL servers are roughly the same version so the binary files are compatible.

HTH,
Jeff
Here is a way to do almost that exact same thing without stopping and starting MySQL, although it probably requires redoing some partitioning. If you put the MySQL data files on an LVM volume, you can use the LVM snapshots to create a snapshot of the LVM volume. You can then mount the snapshot to a different location in the filesystem and make a simple file copy from the snapshot to the backup location. Then you just simply remove the LVM snapshot. I use this method to backup some Xen Virtual machines that I have without having to having any service interruption in them. I can't vouch for LVM being able to maintain the same performance levels while it is also tracking the snapshot. This tutorial goes through some of the gory details. http://www.howtoforge.com/linux_lvm_snapshots Anyways. There is yet another recommendation. It will probably require some downtime unless you happen to already have MySQL data on an LVM volume. It works great for me.

Mike

/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/

Reply via email to