我有一个运行mysql数据库的远程网络服务器.现在我使用SSH进行任何服务器端管理,我经常访问MySQL.我想知道我是否有可能制作一个ssh到服务器的脚本,如果在命令行上运行"-sql"(可能会有变化),它将转入mysql.
到目前为止我做了什么:
#!/bin/bash
if [ "$1" == "-l" ]; then
ssh user@192.168.0.101 //local address for privacy;
mysql -u root -p;
else
ssh user@192.168.0.101
fi
Run Code Online (Sandbox Code Playgroud)
这导致SSH会话,当它结束时,我的计算机将尝试在本地计算机上创建一个mysql连接.
#!/bin/bash
if [ "$1" == "-l" ]; then
ssh user@192.168.0.101 'mysql -u root -p';
else
ssh user@192.168.0.101
fi
Run Code Online (Sandbox Code Playgroud)
这导致密码请求,然后什么也没有.我假设它,因为使用带命令的ssh需要响应然后关闭连接.
有没有办法做到这一点,我意识到它没有任何重要意义,但玩它很有趣
提前致谢
mysql如果输入是终端,则该命令仅以交互方式执行.ssh使用命令参数运行时,它通常不会在服务器上分配伪tty.因此,mysql只需处理其标准输入而不显示提示.
使用该-t选项强制执行此操作:
ssh -t user@192.168.0.101 'mysql -u root -p'
Run Code Online (Sandbox Code Playgroud)