显示 Databases/Tables 进入 OUTFILE

Show Databases/Tables INTO OUTFILE

有没有办法将 SHOW DATABASESSHOW TABLES 命令的输出输出到文本文件,类似于 SELECT ... INTO OUTFILE 的工作方式?

INTO OUTFILESHOW 命令上使用时会产生语法错误。如果有办法使用 cmdline 工具(例如 mysqldump)生成此命令,我愿意接受外部命令。

你可以试试这个:

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';

最好的输出方式是将数据通过管道传输到文件中。例如:

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

@Velko 的回答是一个很好的答案,但前提是您可以访问服务器文件系统。如果服务器与客户端位于不同的系统上,管道将是在本地客户端系统上获取文件的唯一方法。