Isaac
Isaac

Reputation: 323

Output MySQL source results to log file

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.

Upvotes: 32

Views: 30882

Answers (3)

Vlad the Impaler
Vlad the Impaler

Reputation: 528

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'

Upvotes: 51

SorcyCat
SorcyCat

Reputation: 1216

Use the command line:

mysql -p dbname < ~/foo.sql > ~/foo.txt

Upvotes: 2

Marc B
Marc B

Reputation: 360702

You could do it from the shell prompt:

$ mysql -p dbname < foo.sql > foo.txt

Upvotes: 4

Related Questions