我有一个多次调用 MySQL 的 bash 脚本。有没有办法保持连接打开而不是重新连接到 MySQL?理想情况下,如果脚本提前退出,连接将关闭。我认为命名管道可以工作,但它们会保持打开状态。
这是我希望找到的一个快速伪示例:
openMySQL
executeMySQL "SELECT 1"
exit 1
executeMySQL "SELECT 2"
我正在寻找 openMySQL
和 executeMySQL
函数,其中 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/