≡ Menu

mysqldump: Copy Database Using Shell Pipes

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".