Puede lograr esto utilizando la función de línea de comandos mysqldump .
Por ejemplo:
Si es un DB completo, entonces:
$ mysqldump -u [uname] -p db_name > db_backup.sql
Si se trata de todos los DB, entonces:
$ mysqldump -u [uname] -p --all-databases > all_db_backup.sql
Si se trata de tablas específicas dentro de un DB, entonces:
$ mysqldump -u [uname] -p db_name table1 table2 > table_backup.sql
Incluso puede llegar a autocomprimir la salida usando gzip (si su base de datos es muy grande):
$ mysqldump -u [uname] -p db_name | gzip > db_backup.sql.gz
Si desea hacer esto de forma remota y tiene acceso al servidor en cuestión, lo siguiente funcionaría (suponiendo que el servidor MySQL esté en el puerto 3306):
$ mysqldump -P 3306 -h [ip_address] -u [uname] -p db_name > db_backup.sql
Debería colocar el .sql
archivo en la carpeta desde la que ejecuta la línea de comandos.
EDITAR: actualizado para evitar la inclusión de contraseñas en los comandos de la CLI, use la -p
opción sin la contraseña. Se lo pedirá y no lo grabará.