我造了个轮子,mysql 命令行的客户端

21次阅读

共计 1231 个字符,预计需要花费 4 分钟才能阅读完成。

mysql-go

mysql-go


为什么有这个轮子

  • 在维护服务器时,一般需要进行 mysql 连接相关的测试,有的没有安装 mysql, 安装官方的 mysql 太麻烦,我想一个文件能搞定,无库文件依赖,全静态编译的单文件
  • mysql 官方的命令行客户端没有静态编译的版本 (网上也没找到) (如果能提供类似需求的功能完善的轮子更好)
  • 一般紧急临时用,mysql 官方的命令行客户端体积很大,几百 M
  • 日常管理还是建议使用 navicate 之类的客户端

仓库地址

Feature

  • 类似 linux 下的 grep, 这样在管理过程中就少写一些 where,like 等
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

  • 类似 linux 下的 grep -v 排除过滤
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

其它

  • 兼容 mysql5.7 mysql8 tidb
  • 测试不全,可能存在 bug
正文完
 0