mysqldump: Copy Database Using Shell Pipes

Posted on in Categories last updated June 25, 2012

How do I use mysqldump command with Unix shell pipes?

The mysqldump client is a backup program which is used to dump a database or a collection of databases for backup or transfer to another SQL server (not necessarily a MySQL server). The dump typically contains SQL statements to create the table, populate it, or both. However, mysqldump can also be used to generate files in CSV, other delimited text, or XML format. The syntax is as follows to dump a database called foo to the remote server called server1.cyberciti.biz:

mysqldump db-name | mysql -h server1.cyberciti.biz db-name
mysqldump foo | mysql -h server1.cyberciti.biz foo

However, I recommend using VPN or ssh client to secure data transfer using the shell pipes as follows:

mysqldump db-name | ssh user@server1.cyberciti.biz mysql db-name
mysqldump -u vivek -p'myPassWord' foo | ssh vivek@server1.cyberciti.biz mysql -u backup -p'myPassword' bar

For more information and other example usage see our tutorial – “Copy MySQL Database From One Server To Another Remote Server“.

Posted by: Vivek Gite

The author is the creator of nixCraft and a seasoned sysadmin and a trainer for the Linux operating system/Unix shell scripting. He has worked with global clients and in various industries, including IT, education, defense and space research, and the nonprofit sector. Follow him on Twitter, Facebook, Google+.

Leave a Comment