Output MySQL source results to log file

Isaac picture Isaac · Nov 10, 2010 · Viewed 25.4k times · Source

I am trying to execute foo.sql using the source command in MySQL.

When I type the command, the file is sourced accordingly:

mysql> source ~/foo.sql

Now, there are a lot of statements being executed in this file and I would like to review the success/failure of these statements. Is there a way I can pipe the results of the statements to a log file, foo.txt?

I am thinking something along the lines of:

mysql> source ~/foo.sql into outfile ~/foo.txt

However, typing this command appears to assume that everything following the source statement is one file name; so it is trying to source a file named '~/foo.sql into outfile ~/foo.txt', which obviously doesn't exist.

Answer

Vlad the Impaler picture Vlad the Impaler · May 9, 2011

From within your MySQL client, type

tee session.out

From that point on, all the I/O of in your current client session is written to the file 'session.out'