heredoc和MySQL远程访问

问题描述 投票:0回答:1

我没有对MySQL服务器的远程访问,所以我试图通过SSH会话进行访问。

部分起作用,但不正确。

sshpass -p $password ssh user@$IP /bin/bash << EOF
mysql -N -uroot -ppassword test -e "select id from client where user ='$user'"
EOF

这将显示select语句的结果,但是我希望能够在另一个echo语句中使用该结果。

例如:

The user ID is: xxxxx

我尝试使用以下方法将输出分配给变量:

sshpass -p $password ssh user@$IP /bin/bash << EOF
res=$(mysql -N -uroot -ppassword test -e "select id from client where user ='$user'")
echo $res
EOF

但是结果是:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/run/mysql/mysql.sock' (2)

如果我像'EOF'一样引用EOF,则可以将结果输入到res中,但我失去了使用$user的能力]

反正有这样做的方法,所以我可以在heredoc中使用变量并将MySQL查询的结果转换为新变量?

谢谢

我没有对MySQL服务器的远程访问,因此我试图通过SSH会话进行访问。它部分起作用,但不正确。 sshpass -p $ password ssh user @ $ IP / bin / bash << EOF mysql -N -uroot ...

mysql bash heredoc
1个回答
0
投票

如果我像'EOF'一样引用EOF,则可以将结果输入到res中,但我失去了使用$user的能力]

© www.soinside.com 2019 - 2024. All rights reserved.