CMD="use metadata; select * from usernames; select * from personData; select usernames.SNo,
usernames.DataTelid, usernames.UName, personData.ActiveInactive from usernames, personData where usernames.DataTelid=personData.DataTelid into outfile '/tmp/querydb';"
ssh [USER-NAME]@[REMOTE-HOST]
mysql -h HOST -u USERNAME -pPASSWORD -e "$CMD" < /tmp/querydb
我从服务器 A 登录到具有 mysql 数据库的服务器 B。querydb 文件不应该在服务器 B 上创建,而应该在服务器 A 上创建。我陷入困境,该怎么办?
答案1
嗯,我发现两个问题:
您正在通过 ssh 进入服务器 B,在那里获取 shell,然后执行 mysql 命令。在服务器 B 上执行的任何输出重定向都无法将文件返回到服务器 A。
您的输出重定向方向错误。
尝试这个:
ssh user@host "mysql -u USER -pPASSWORD -e \"$CMD\"" > /tmp/querydb