I answered a question on how to use rsync to copy a live DB to another location.
You would repeat rsync process multiple times until two rsync's run in the same time.
Then, you would shutdown mysql on the master, perform a final rsync to the new server, and start mysql on the master.
You then properly prep the new server, make sure /var/lib/mysql has everything, make sure you erase all binary logs on the new server, and make sure you have the same my.cnf on both machines (you may want to change the server_id)
Here is an excerpt from that link:
Step 01) install the same version of mysql on ServerB that ServerA has
Step 02) On ServerA, run SET GLOBAL innodb_max_dirty_pages_pct = 0;
from mysql and about 10 minutes (This purges dirty pages from the InnoDB Buffer Pool. It also helps perform a mysql shutdown faster) If your database is all MyISAM, you can skip this step.
Step 03) rsync /var/lib/mysql of ServerA to /var/lib/mysql on ServerB
Step 04) Repeat Step 03 until an rsync takes less than 1 minute
Step 05) service mysql stop
on ServerA
Step 06) Perform one more rsync
Step 07) scp ServerA:/etc/my.cnf to ServerB:/etc/.
Step 08) service mysql start
on ServerB
Step 09) service mysql start
on ServerA (optional)
Give it a Try !!!
Well theoretically you can issue the command "alter tablespace begin/end backup". Before and after you execute rsync. You will also need a backup copy of the control file. This approach was used many years ago before RMAN was introduced. The restore really requires Oracle experience. This approach is for example described in this book: "Unix Backup and Recovery".
A really recommend you to get familiar with RMAN. Even if you do not use backup agent like TSM/Netbackup you can still create local disk backups using RMAN and then you can synchronize this storage using rsync.
Best Answer
I would personally do it in one step with a pipe using mysqldump like so
but if mysqldump is not allowed just save the dump somewhere you can access it then use wget to move it to the other server and unpack there using mysql. I normally use this command because it doesn't require me to stop the database and is a single command with no files rather than a process where I have to manage where the data files are.