MySQL To File
How To Use a MySQL command on the BASH command line
If you want to print the output from the SQL commands in one file to another, use:
mysql -u <username> --password='<password>' <database_name> -vvv < <path/to/file_with_commands> > <path/to/output_file>
-vvv is the verboseness of the command and is optional,
< is a redirection from a file, and the
> redirects from stdout to another file.
mysql -u bkane --password='im_totes_secure' books_db -vvv < ./work.mysql > ./output.txt
prints the commands in
output.txt. If you just want the output to the terminal, leave off the
This is the easiest way. Note that using the bare password on the command line is insecure. You probably shouldn’t use this at work.
If you’re only want to see one command, it’s probably easier to use process substitution:
mysql -u bkane --password='im_totes_secure' books_db -vvv < <( echo 'SELECT * FROM books') > ./output.txt