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

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

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

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