mysql-go
mysql> show variables; | grep log_bin
Variable_name Value
log_bin ON
log_bin_basename /var/lib/mysql/binlog
log_bin_index /var/lib/mysql/binlog.index
log_bin_trust_function_creators OFF
log_bin_use_v1_row_events OFF
sql_log_bin ON
6 rows in set (0.01 sec)
mysql> show variables; | grep binlog
mysql> show processlist; | grepv sleep
Id User Host db Command Time State Info
5 event_scheduler localhost NULL Daemon 1902954 Waiting on empty queue NULL
115 root 192.168.3.101:63598 NULL Query 0 init show processlist
2 rows in set (0.00 sec)
mysql -uroot -p123456 -h127.0.0.1 -P3306
mysql -u root -p 123456 -h 127.0.0.1 -P 3306
mysql -uroot -p123456 -h127.0.0.1 -P3306 -Ddbname
mysql -uroot -p123456 -h127.0.0.1 -P3306 -f xxx.sql
mysql -uroot -p123456 -h127.0.0.1 -P3306 -Ddbname < xxx.sql
mysql -uroot -p123456 -h127.0.0.1 -P3306 -Ddbname -e 'select * from users limit 10;'
wget https://gitee.com/tinatmp/mysql/releases/download/mysql/mysql_linux -O /usr/local/bin/mysql chmod +x /usr/local/bin/mysql
1
ZeekChatCom 284 天前 via iPhone
就包管理器安装一下客户端就可以了呀,又不需要完整安装 server ,有何复杂的?
|
2
Comyn 284 天前
和 mycli 优势在哪里
|
3
nilai OP @Comyn mycli 我看了一下 功能很强大, 但是跟我的需求不想符, 我主要需要的就是 单文件 静态编译 无其它库文件依赖, 我只要能连接上能执行基本的 sql 命令就行
|
4
nilai OP @ramirezyolis808 正常来说是这个道理, 可我接触的有的服务器是没有外网的, 没法直接 apt-get yum dnf 等操作
|
5
Rehtt 284 天前 via Android 1
|
6
nilai OP @Rehtt 感谢提供, 这个我看了一下, 这个功能更强大了, 我看它是基于 python 开发的, 它的依赖库估计不少,python 程序用 py2exe pyinstaller 类似的打包的话,一个体积太大, 另一个我曾经碰到过打包后可能存在兼容性问题, 我主要需要的就是 单文件 静态编译 无其它库文件依赖
|
7
miniliuke 284 天前
可以做个支持多种库的还是有点用的.......光支持 mysql 和官方的区别不大
|
8
bashbot 284 天前
没有外网的服务器但是允许你传文件上去?
这种情况遇到的比较少,遇到封网的服务器至少 scp 和拷贝粘贴也会禁掉,一般都是封端口加跳板机登录。 |
9
gbw1992 284 天前
收藏了
在一定特殊情况下可能会用到 |
10
sakilascott 284 天前 via Android
mysql 官方的 tar 包和 zip 包,解压后找到 bin 目录就能直接用,不需要安装啥的啊。。。。
|
11
iyiluo 284 天前 1
有用,很多生产环境不能联网,只允许通过堡垒机上传文件,但是自己装软件要处理一堆依赖冲突,特麻烦,这个时候有一个一键执行的程序很方便
|
13
superchijinpeng 284 天前
官方提供了 binary 无依赖离线包: https://dev.mysql.com/downloads/shell/
|
14
FrankAdler 284 天前 via Android
有 sql 补全吗
|
15
idontnowhat2say 284 天前 via iPhone
有用,但我记得官方的 tar 包 bin 里的客户端没有动态库的依赖,可以直接用,你试试看
|
16
nilai OP @superchijinpeng 不可否认,mysqlsh 是一个非常强大的命令行工具, 它是用来准备替换 mysql 的, 它支持 python js 两种引擎, 它为 mgr 集群 主从同步提供了非常便利的操作, 我也一样在用它, 但是安装它稍微要麻烦一点点, 需要解压到目录,以及设置环境变量, 另外,mysqlsh 并不是完全的无依赖, 不信请看
root@cdfea3ff6ac5:/opt/test/mysql-shell-8.0.36-linux-glibc2.12-x86-64bit# ls /opt/test/mysql-shell-8.0.36-linux-glibc2.12-x86-64bit bin lib libexec share root@cdfea3ff6ac5:/opt/test/mysql-shell-8.0.36-linux-glibc2.12-x86-64bit# ldd /opt/test/mysql-shell-8.0.36-linux-glibc2.12-x86-64bit/bin/mysqlsh linux-vdso.so.1 (0x00007fff30ea2000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f19e2d3d000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f19e2d38000) libcrypto.so.3 => /opt/test/mysql-shell-8.0.36-linux-glibc2.12-x86-64bit/bin/../lib/mysqlsh/libcrypto.so.3 (0x00007f19e2600000) libssl.so.3 => /opt/test/mysql-shell-8.0.36-linux-glibc2.12-x86-64bit/bin/../lib/mysqlsh/libssl.so.3 (0x00007f19e2200000) libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f19e2d27000) librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f19e2d20000) libssh.so.4 => /opt/test/mysql-shell-8.0.36-linux-glibc2.12-x86-64bit/bin/../lib/mysqlsh/libssh.so.4 (0x00007f19e1e00000) libutil.so.1 => /lib/x86_64-linux-gnu/libutil.so.1 (0x00007f19e2d1b000) libpython3.10.so.1.0 => /opt/test/mysql-shell-8.0.36-linux-glibc2.12-x86-64bit/bin/../lib/mysqlsh/libpython3.10.so.1.0 (0x00007f19e1800000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f19e2c3c000) libantlr4-runtime.so.4.10.1 => /opt/test/mysql-shell-8.0.36-linux-glibc2.12-x86-64bit/bin/../lib/mysqlsh/libantlr4-runtime.so.4.10.1 (0x00007f19e1400000) libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f19e11e6000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f19e2c1a000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f19e1005000) /lib64/ld-linux-x86-64.so.2 (0x00007f19e2d46000) libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f19e2bfb000) libgssapi_krb5.so.2 => /opt/test/mysql-shell-8.0.36-linux-glibc2.12-x86-64bit/bin/../lib/mysqlsh/libgssapi_krb5.so.2 (0x00007f19e0c00000) libkrb5.so.3 => /opt/test/mysql-shell-8.0.36-linux-glibc2.12-x86-64bit/bin/../lib/mysqlsh/libkrb5.so.3 (0x00007f19e0800000) libk5crypto.so.3 => /opt/test/mysql-shell-8.0.36-linux-glibc2.12-x86-64bit/bin/../lib/mysqlsh/libk5crypto.so.3 (0x00007f19e0400000) libcom_err.so.3 => /opt/test/mysql-shell-8.0.36-linux-glibc2.12-x86-64bit/bin/../lib/mysqlsh/libcom_err.so.3 (0x00007f19e0000000) libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007f19e25f4000) libkrb5support.so.0 => /opt/test/mysql-shell-8.0.36-linux-glibc2.12-x86-64bit/bin/../lib/mysqlsh/libkrb5support.so.0 (0x00007f19dfc00000) libkeyutils.so.1 => /lib/x86_64-linux-gnu/libkeyutils.so.1 (0x00007f19e25eb000) |
17
Jisxu 284 天前 2
https://github.com/xo/usql
你是否在寻找这个项目 |
18
nilai OP @FrankAdler 没有, 我尝试过的, 能实现, 但是有点麻烦, 不想花费太多时间在这个上面上。
|
19
nilai OP @Jisxu 感谢, 这个项目不错,比我写的这个轮子不知道要高明到哪里去了, 这个我看了一下,稍要学习一下怎么用,目前我下载了测试了一下, 发现 (not connected)=> my://root:[email protected]:4000/test 一直停留在这里,感觉没有连接上一样,状态一直是 not connected ,数据库的连接信息确认是对的, 可能需要一点点学习成本,我有空研究一下
|
20
GTim 284 天前
不错,我用着,我也想打包一个命令行,随时可以使用的那种
|
21
coolloves 284 天前
mysql shell 内可以 grep,确实很方便,好评
|
23
defunct9 284 天前
usql 赞了,楼主这个也要赞一个。确实好用。某些程序员程序部署的时候,就一句,联不通。擦的,上去给他装个 msyql client 测试,事后永远也用不到,还得卸载,这个太难受了。不如这个上去测一把,通了就删掉好用。
|
24
changnet 284 天前
@iyiluo 可是生产环境,软件的稳定性谁来评估?如果出 bug ,比如把某个数据删了。如果是官方的,那这个是经过公司认可的开源软件,出问题整个团队负责。个人的软件到时候谁来背锅?
我们的生产环境,运维默认只从官方下载对应的版本。自编译或者第三方的软件除非官方没有或者没有其他解决方案,否则不会装 |
25
saka0609 284 天前
提个建议,构建好的二进制不要直接推送到仓库,走 release 或者 lfs 都行
|
26
OneNian 284 天前
有和你一样的需求,我的解决方法是 docker 打包了一套常用工具,里面包含 mysql 和 psql 等客户端和一些网络调试工具之类等等等
|
27
usboy 284 天前
支持 rlwrap 吗
|
28
bjfane 284 天前
一个文件完全命中我的 G 点,哈哈哈,点个赞,star 一下。
|
29
fenglangjuxu 284 天前
类似的
https://github.com/danvergara/dblab https://github.com/johejo/go-mysql-client 不过这工具的确是有需要 我经常用 因为有时候 机器没有安装 mysql client 的权限 这个时候就需要这样一个工具 |