V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Aliberter
V2EX  ›  程序员

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

  •  
  •   Aliberter · 242 天前 · 2252 次点击
    这是一个创建于 242 天前的主题,其中的信息可能已经有所发展或是发生改变。

    刚开始写 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

    第 1 条附言  ·  242 天前

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

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