Logging Interactive mysql Sessions
Problem
You want to keep a record of what you did in a mysql session.
Solution
Create a tee file.
Discussion
If you maintain a log of an interactive MySQL session, you can refer
back to it later to see what you did and how. Under Unix, you can use
the script program to save a log of a terminal
session. This works for arbitrary commands, so it works for
interactive mysql sessions, too. However,
script also adds a carriage return to every line
of the transcript, and it includes any backspacing and corrections
you make as you’re typing. A method of logging an
interactive mysql session that
doesn’t add extra messy junk to the log file (and
that works under both Unix and Windows) is to start
mysql with a
--tee option that specifies the
name of the file in which to record the session:[11]
% mysql --tee=tmp.out cookbookTo control session logging from within mysql, use
\T and \t to turn tee output on
and off. This is useful if you want to record only parts of a
session:
mysql>\T tmp.outLogging to file 'tmp.out' mysql>\tOutfile disabled.
A tee file contains the queries you enter as well as the output from those queries, so it’s a convenient way to keep a complete record of them. It’s useful, for example, when you want to print or mail a session or parts of it, or for capturing query output to include as an example in a document. It’s also a good way to try out queries to make sure you have the syntax correct before putting them in a script file; you can ...