SSH直接进入MySQL服务器

0 mysql linux ssh bash

我有一个运行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需要响应然后关闭连接.

有没有办法做到这一点,我意识到它没有任何重要意义,但玩它很有趣

提前致谢

Bar*_*mar 5

mysql如果输入是终端,则该命令仅以交互方式执行.ssh使用命令参数运行时,它通常不会在服务器上分配伪tty.因此,mysql只需处理其标准输入而不显示提示.

使用该-t选项强制执行此操作:

ssh -t user@192.168.0.101 'mysql -u root -p'
Run Code Online (Sandbox Code Playgroud)