Is there a way of getting the output of a SHOW DATABASES
or SHOW TABLES
command to output to a text file, similar to how the SELECT ... INTO OUTFILE
works?
The INTO OUTFILE
produces a syntax error when used on a SHOW
command. I am open to external commands if there is a way to produce this using a cmdline tool such as mysqldump.
The best way to output this would be to pipe the data to a file. For instance:
mysql -u root -e "SHOW DATABASES" > my_outfile.txt
@Velko's answer is a good answer but only if you can access the server file system. If the server is on a different system than the client, piping will be the only way to get the file on the local client system.
You can try this:
SELECT TABLE_SCHEMA INTO OUTFILE '/tmp/stack.txt' FROM information_schema.TABLES GROUP BY TABLE_SCHEMA
Another Example:
SET @databasesInfo := '';
SHOW DATABASES WHERE (@databasesInfo := CONCAT(@databasesInfo, `Database`, ','));
SELECT @databasesInfo INTO OUTFILE '/tmp/so2.txt';