mysql - 在同一 mysql session 中具有多个查询和重定向的 Bash 脚本

标签 mysql bash

我的 bash 脚本查询 mysql 数据库 3 次,并将每次查询的标准输出重定向到一个文件(总共 3 个不同的文件,具有不同的列结构)。

我希望它询问 mysql 密码,因为对我来说重要的是不要将密码保存在脚本或磁盘上。

如何在同一个 mysql session 中包含所有查询和标准输出重定向,以避免 3 次询问密码?

这是我现在拥有的:

#!/bin/bash 
mysql -h database.com -u user -p -e "USE database; mysql query1"  > file1
mysql -h database.com -u user -p -e "USE database; mysql query2"  > file2
mysql -h database.com -u user -p -e "USE database; mysql query3"  > file3

最佳答案

您可以使用 teenotee 命令并编写一个查询文件,比如 queries.sql 并一次性调用它:

use database
tee file1
query1
notee
tee file2
query2
notee
tee file3
query3
notee

然后调用它:

mysql -h database.com -u user -p -e "source queries.sql" > /dev/null

相关:

关于mysql - 在同一 mysql session 中具有多个查询和重定向的 Bash 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50444913/

相关文章:

php - MySQL 非常偶然 Unable save result set

bash - 在具有变量扩展的文件路径字符串中将 ""替换为 "\"

bash - 提取子字符串直到第一个数字

bash - sudo echo "something">>/etc/privilegedFile 不起作用

regex - sed 正则表达式及其替代方案在 Solaris 上不起作用

mysql - 导出整个表结构,但仅通过 phpMyAdmin 从某些表中导出数据

MySQL COUNT UNION ALL 语句的结果

php - 前 250 个 IMDB 详细信息 php 抓取器

php - 如何更改 MySQLYog 错误消息语言

json - jq 在输出中打印字符