У меня нет удаленного доступа к серверу 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, но я хотел бы иметь возможность использовать этот результат в другом операторе эха.
eg:
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 к новой переменной?