Puede lograr esto usando mysqldump función de línea de comandos.
Por ejemplo:
Si es una base de datos completa, entonces:
$ mysqldump -u [uname] -p db_name > db_backup.sql
Si son todos DB, entonces:
$ mysqldump -u [uname] -p --all-databases > all_db_backup.sql
Si se trata de tablas específicas dentro de una base de datos, entonces:
$ mysqldump -u [uname] -p db_name table1 table2 > table_backup.sql
Incluso puede llegar a comprimir automáticamente 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 soltar 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 CLI, use -p
opción sin la contraseña. Te lo solicitará y no lo registrará.