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

2021-10-28 09:57:33 +08:00
 Aliberter

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

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

真的想 shell 查可以下个 mysql 客户端放到家目录
0xC000009F
2021-10-28 10:16:47 +08:00
装个第三方 mysql 命令行客户端试试,比如 mycli 。
CallMeReznov
2021-10-28 10:17:49 +08:00
写接口用 shell 没毛病嘛.
如果不是要经常换环境的话,装个 mysqlcli 也不麻烦呀
tianyunperfect
2021-10-28 10:18:20 +08:00
@0xC000009F 对,正解
liuxey
2021-10-28 10:22:05 +08:00
我之前遇到过一个场景,只有一台远程的 Linux 能访问一个 SQLServer 数据库,于是我在 Linux 上装了 python 的 sqlserver 包,启动 REPL 模式,“在线”查询
assiadamo
2021-10-28 10:30:17 +08:00
最简单的就是装 mysqlcli
不能装只能写程序了,以 java 举例,就是 import 一下 mysql driver 用 jdbc 查询
ericls
2021-10-28 10:32:43 +08:00
TCP
crackhopper
2021-10-28 10:33:44 +08:00
启动个 ssh 转发,反向代理之类的,可以直接登录到远程机器上。不过我忘了命令是啥了。
ksc010
2021-10-28 10:35:14 +08:00
用 ssh 远程执行命令
liprais
2021-10-28 10:38:38 +08:00
所以你们现在 jdbc ,odbc 都不会用了是么.....
CnpPt
2021-10-28 10:39:50 +08:00
我是有 docker 环境 直接用的容器里的命令
basefas
2021-10-28 10:45:02 +08:00
不用 shell ,用 go 写,打包二进制执行
auxox
2021-10-28 11:04:54 +08:00
MySQL 是 CS 架构的服务。没有 C ,怎么访问 S...
fxxkgw
2021-10-28 11:14:03 +08:00
python paramiko 先连接到 211 机器,然后执行命令,几行脚本吧;但是必须要有 ssh 过去的权限

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/811158

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX