在远程服务器上执行MySQL查询,并将输出保存到本地文件中

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,我login到具有mysql数据库的服务器B. querydb文件是snot假设在服务器B,但服务器A上创build。我卡住,如何去做这件事?

那么,我看到两个问题:

  1. 你正在进入服务器B,在那里获得一个shell,然后执行mysql命令。 在服务器B上执行的输出redirect量将不能够将文件返回给服务器A.

  2. 你的输出redirect是错误的方向。

尝试这个:

 ssh user@host "mysql -u USER -pPASSWORD -e \"$CMD\"" > /tmp/querydb