Puoi farlo usando la funzione della riga di comando di mysqldump .
Per esempio:
Se è un intero DB, quindi:
$ mysqldump -u [uname] -p db_name > db_backup.sql
Se sono tutti i DB, quindi:
$ mysqldump -u [uname] -p --all-databases > all_db_backup.sql
Se si tratta di tabelle specifiche all'interno di un DB, quindi:
$ mysqldump -u [uname] -p db_name table1 table2 > table_backup.sql
Puoi persino arrivare a comprimere automaticamente l'output usando gzip (se il tuo DB è molto grande):
$ mysqldump -u [uname] -p db_name | gzip > db_backup.sql.gz
Se vuoi farlo da remoto e hai accesso al server in questione, allora funzionerebbe quanto segue (presumendo che il server MySQL sia sulla porta 3306):
$ mysqldump -P 3306 -h [ip_address] -u [uname] -p db_name > db_backup.sql
Dovrebbe rilasciare il .sql
file nella cartella da cui si esegue la riga di comando.
EDIT: aggiornato per evitare l'inclusione di password nei comandi CLI, utilizzare l' -p
opzione senza la password. Ti verrà richiesto e non registrato.