• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Aliberter
V2EX  ›  程序员

请教大佬们,如何在一台没有 mysql 环境的 Linux 上发起远程 sql 查询命令?

  •  
  •   Aliberter · Oct 28, 2021 · 3683 views
    This topic created in 1669 days ago, the information mentioned may be changed or developed.

    刚开始写 shell 脚本,是这么写的:

    event_ids=$(mysql -h 192.168.0.211 -D statistics -u root -p1234 -se "select id from event_name where is_active = 1");
    
    

    后来发现 shell 脚本的这台机器上没装着 mysql ,不能这么写,有其他的方法吗,大佬们,求助~~~ 最终目标就是在 shell 脚本里远程查询 211 上 mysql 的这条 sql ,获取 id 数组赋给 event_ids

    Supplement 1  ·  Oct 28, 2021

    多谢大佬们,解决了,ssh远程命令是最简单的办法,我咋就没想到呢哈哈

    event_ids=$(ssh [email protected] "mysql -h 192.168.0.211 -D statistics -u root -p1234 -se 'select id from event_name where is_active = 1'");

    22 replies    2021-10-28 15:47:40 +08:00
    villivateur
        1
    villivateur  
       Oct 28, 2021 via Android
    首先你必须要有一个 MySQL 客户端,你可以试试用 python 脚本,装个 MySQL 库
    Aliberter
        2
    Aliberter  
    OP
       Oct 28, 2021
    如果没有直接的办法,有啥曲线救国的方法都行,集思广益下
    Aliberter
        3
    Aliberter  
    OP
       Oct 28, 2021
    @villivateur 好~如果没别的办法只能装个 mysql 了~
    Aliberter
        4
    Aliberter  
    OP
       Oct 28, 2021
    比如我刚刚想的,在自己 Java 接口项目里去查数据库,然后提供个接口,然后用 shell 脚本去请求接口获取数据,怎么样?... 虽然有点脱裤子放 P 的感觉 哈哈哈 有大佬能简单帮我写下怎么用 shell 请求接口获取一个 id 数组的写法吗?
    Vegetable
        5
    Vegetable  
       Oct 28, 2021
    有没有考虑换个思路,整个脚本用 py 写?
    vonsy
        6
    vonsy  
       Oct 28, 2021
    docker 装个 adminer
    momocraft
        7
    momocraft  
       Oct 28, 2021
    bash 写 sql 需要痛苦的转义 不推荐

    真的想 shell 查可以下个 mysql 客户端放到家目录
    0xC000009F
        8
    0xC000009F  
       Oct 28, 2021
    装个第三方 mysql 命令行客户端试试,比如 mycli 。
    CallMeReznov
        9
    CallMeReznov  
       Oct 28, 2021
    写接口用 shell 没毛病嘛.
    如果不是要经常换环境的话,装个 mysqlcli 也不麻烦呀
    tianyunperfect
        10
    tianyunperfect  
       Oct 28, 2021
    @0xC000009F 对,正解
    auin
        11
    auin  
       Oct 28, 2021
    我之前遇到过一个场景,只有一台远程的 Linux 能访问一个 SQLServer 数据库,于是我在 Linux 上装了 python 的 sqlserver 包,启动 REPL 模式,“在线”查询
    badbye
        12
    badbye  
       Oct 28, 2021
    最简单的就是装 mysqlcli
    不能装只能写程序了,以 java 举例,就是 import 一下 mysql driver 用 jdbc 查询
    ericls
        13
    ericls  
       Oct 28, 2021 via iPhone
    TCP
    crackhopper
        14
    crackhopper  
       Oct 28, 2021
    启动个 ssh 转发,反向代理之类的,可以直接登录到远程机器上。不过我忘了命令是啥了。
    ksc010
        15
    ksc010  
       Oct 28, 2021
    用 ssh 远程执行命令
    F281M6Dh8DXpD1g2
        16
    F281M6Dh8DXpD1g2  
       Oct 28, 2021
    所以你们现在 jdbc ,odbc 都不会用了是么.....
    CnpPt
        17
    CnpPt  
       Oct 28, 2021
    我是有 docker 环境 直接用的容器里的命令
    basefas
        18
    basefas  
       Oct 28, 2021
    不用 shell ,用 go 写,打包二进制执行
    auxox
        19
    auxox  
       Oct 28, 2021
    MySQL 是 CS 架构的服务。没有 C ,怎么访问 S...
    fxxkgw
        20
    fxxkgw  
       Oct 28, 2021
    python paramiko 先连接到 211 机器,然后执行命令,几行脚本吧;但是必须要有 ssh 过去的权限
    yijihu
        21
    yijihu  
       Oct 28, 2021
    phpadmin
    icepie
        22
    icepie  
       Oct 28, 2021
    go + gorm 写个简单的程序
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   862 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 104ms · UTC 20:27 · PVG 04:27 · LAX 13:27 · JFK 16:27
    ♥ Do have faith in what you're doing.