中国DBA联盟(ACDU)成员,目前从事DBA及程序编程(Web\java\Python)工作,主要服务于生产制造
现拥有 Oracle 11g OCP/OCM、Mysql、Oceanbase(OBCA)认证
分布式TBase\TDSQL数据库、国产达梦数据库以及红帽子认证
从业8年DBA工作,在数据库领域有丰富的经验
B站主播Oracle、Mysql、PG实战课程,请搜索:jeames007
微信:jem_db
QQ:2243967774
简介:
巧用MySQL自带工具会給我们带来了很多便捷,本文整理了以下常用工具的使用方法
1、 mysql
相信在所有 MySQL客户端工具中,读者了解最多的就是 mysql 了,用的最多的应该也非他莫属。
mysql 的功能和 Oracle 的 sqlplus 一样,为用户提供一个命令行
接口来操作管理 MySQL 服务器。其基本的使用语法这里就不介绍了,
大家只要运行一下“mysql--help”就会得到如下相应的基本使用帮助信息:
C:\Users\wangd>mysql --help

2.mysqladmin
mysqadmin,顾名思义,提供的功能都是与 MySQL 管理相关的各种功能。如 MySQL Server 状态检查,
各种统计信息的 flush,创建/删除数据库,关闭 MySQL
Server等等。mysqladmin 所能做的事情,
虽然大部分都可以通过 mysql 连接登录上 MySQL Server 之后来完成,
但是大部分通过 mysqladmin 来完成操作会更简单更方便。
这里我将介绍一下自己经常使用到的几个常用功能:
[root@docker35 ~]# mysqladmin -uroot -pmes -h192.168.66.35 -P3317 ping
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
mysqld is alive
status 命令可以获取当前 MySQL Server 的几个基本的状态值:
[root@docker35 ~]# mysqladmin -uroot -pmes -h192.168.66.35 -P3317 status
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
Uptime: 67777 Threads: 3 Questions: 40 Slow queries: 0 Opens: 161 Flush tables: 1 Open tables: 154 Queries per second avg: 0.000
processlist 获取当前数据库的连接线程信息:
[root@docker35 ~]# mysqladmin -uroot -pmes -h192.168.66.35 -P3317 processlist
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
+----+------+------------------+-----+---------+-------+----------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+------+------------------+-----+---------+-------+----------+------------------+
| 7 | root | 172.17.0.1:45725 | | Sleep | 15632 | | |
| 8 | root | 172.17.0.1:17450 | sys | Sleep | 9653 | | |
| 13 | root | 172.17.0.1:51987 | | Query | 0 | starting | show processlist |
+----+------+------------------+-----+---------+-------+----------+------------------+
此外,还可以通过 mysqladmin 来 start slave 和 stop slave,kill 某个连接到 MySQL Server 的线程等等。
3.mysqlimport
Usage: mysqlimport [OPTIONS] database textfile ...
mysqlimport 程序是一个将以特定格式存放的文本数据(如通过“select * into OUTFILE from ...”所生成的数据文件)导入到指定的 MySQL Server 中的工具程序,
比如将一个标准的 csv 文件导入到某指定数据库的指定表中。mysqlimport 工具实际上也只是 “load data infile”命令的一个包装实现。
4.mysqlbinlog
mysqlbinlog 程序的主要功能就是分析 MySQL Server 所产生的二进制日志(也就是大家所熟知的 binlog)。
当我们希望通过之前备份的 binlog 做一些指定时间之类的恢复的时候,mysqlbinlog 就可以帮助我们找到恢复操作需要做哪些事情。
通过 mysqlbinlog,
我们可以解析出 binlog 中指定时间段或者指定日志起始和结束位置的内容解析成 SQL 语句,并导出到指定的文件中,
在解析过程中,还可以通过指定数据库名称来过滤输出内容。
5. mysqlcheck
Usage: mysqlcheck [OPTIONS] database [tables]
OR mysqlcheck [OPTIONS] --databases DB1 [DB2 DB3...] OR mysqlcheck [OPTIONS] --all-databases
mysqlcheck 工具程序可以检查(check),修复(repair),分析(analyze)和优化(optimize)MySQL Server 中的表,
但并不是所有的存储引擎都支持这里所有的四个功能,像 Innodb 就不支持修复功能。实际上,
mysqlcheck 程序的这四个功能都可以通过 mysql 连接登录到 MySQL Server 之后来执行相应命令完成完全相同的任务。
6.myisampack
Usage: myisampack [OPTIONS] filename ...
对 MyISAM 表进行压缩处理,以缩减占用存储空间,一般主要用在归档备份的场景下,
而且压缩后的 MyISAM 表会变成只读,不能进行任何修改操作。
当我们希望归档备份某些历史数据表,而又希望该表能够提供较为高效的查询服务的时候,
就可以通过myisampack 工具程序来对该 MyISAM 表进行压缩,因为即使虽然更换成 archive 存储引擎也能够将表变成只读的压缩表,
但是 archive 表是没有索引支持的,而通过压缩后的 MyISAM 表仍然可以使用其索引。
本文如有错误或不完善的地方请大家多多指正,
留言微信:jem_db 或 QQ:2243967774 皆可,您的批评指正是我写作的最大动力!

最后修改时间:2021-09-02 06:55:07
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




