mysql - 如何在 Bash 中保持 MySQL 连接打开

标签 mysql bash

我有一个多次调用 MySQL 的 bash 脚本。有没有办法保持连接打开而不是重新连接到 MySQL?理想情况下,如果脚本提前退出,连接将关闭。我认为命名管道可以工作,但它们会保持打开状态。

这是我希望找到的一个快速伪示例:


openMySQL
executeMySQL "SELECT 1"
exit 1
executeMySQL "SELECT 2"

我正在寻找 openMySQLexecuteMySQL 函数,其中 MySQL 连接将在 exit 1 期间实际关闭。

最佳答案

我找到了一部分我要找的东西。

使用fd=3保持mysql连接打开进行写入:


exec 3> >(mysql)
echo "SELECT 1;" >&3
echo "SELECT 2;" >&3
exec 3>&-

使用 fd=3 保持 mysql 连接打开以进行读取:


exec 3< <(echo "SELECT 1;SELECT 2;"|mysql|sed '1d')
while read <&3
do
  echo $REPLY
done

注意:sed '1d' 删除标题。

有什么方法可以合并这些,以便您可以写入一个 fd 并从另一个 fd 读取?

关于mysql - 如何在 Bash 中保持 MySQL 连接打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3463106/

相关文章:

python - 在django中创建子进程任务

linux - ./executable 和 . 之间的区别可执行的

bash - CentOS,将 ipV6 短格式转换为长格式

MySQL - 插入后更新同一个表的触发器

mysql - 如何找到 MySQL 守护程序错误日志的位置?

linux - 在 Bash 中解析带有开始和结束定界符的字符串

python - 使用 source 命令运行 bash 脚本时出现问题

mysql - 基于一系列值返回结果,即 WHERE ColA = (ColB + n OR ColB - n)

mysql - 跟踪可用整数池的最佳方法是什么?

mysql - 删除mysql中重复数据(大数据场景下)