2015-11-09 5 views
3

Есть ли способ получить вывод команды SHOW DATABASES или SHOW TABLES для вывода в текстовый файл, аналогичный тому, как работает SELECT ... INTO OUTFILE?Показать базы данных/таблицы ВНУТРИ ПРОФИЛЯ

INTO OUTFILE создает синтаксическую ошибку при использовании в команде SHOW. Я открыт для внешних команд, если есть способ создать это с помощью инструмента cmdline, такого как mysqldump.

ответ

7

лучший способ вывести эту бы к трубе данные в файл. Например:

mysql -u root -e "SHOW DATABASES" > my_outfile.txt 

@ Ответ Velko - хороший ответ, но только если вы можете получить доступ к файловой системе сервера. Если сервер находится в другой системе, чем клиент, то протокол будет единственным способом получить файл в локальной клиентской системе.

+0

Именно то, что я искал, спасибо. – Hearth

4

Вы можете попробовать это:

SELECT TABLE_SCHEMA INTO OUTFILE '/tmp/stack.txt' FROM information_schema.TABLES GROUP BY TABLE_SCHEMA 

Другой пример:

SET @databasesInfo := ''; 
SHOW DATABASES WHERE (@databasesInfo := CONCAT(@databasesInfo, `Database`, ',')); 
SELECT @databasesInfo INTO OUTFILE '/tmp/so2.txt'; 
+0

второе - это круто использовать переменную, которую я должен сказать (кроме команды в конце выходного файла) – Drew

+0

Оба решения работают, но ответ от @PressingOnAlways проще для моих целей. +1 для взлома concat-variable, очень умный. – Hearth