Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Show Databases/Tables INTO OUTFILE

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.

like image 517
Hearth Avatar asked Nov 09 '15 23:11

Hearth


2 Answers

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.

like image 107
PressingOnAlways Avatar answered Sep 27 '22 21:09

PressingOnAlways


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';
like image 40
Velko Georgiev Avatar answered Sep 27 '22 21:09

Velko Georgiev