mysql-utilities 管理工具集的使用:
更详细的参数 ,参照官方文档: https://dev.mysql.com/doc/mysql-utilities/
直接去MySQL官网下载rpm包安装即可。如果安装过程中提示mysql-connector-python版本过低,则到mysql官网去下载个最新的包装上即可。
社区版用不到或者不常用的功能,笔记这里就不列出来了。
mysqldbcopy克隆整个库
例:mysqldbcopy --source=root:'123456'@localhost:3306:/tmp/mysql.sock --destination=root:'123456'@localhost:3306:/tmp/mysql.sock db:db_clone
mysqldiskusage统计表空间、各种日志文件占用的体积
例:mysqldiskusage --server=root:'123456'@localhost:3306:/tmp/mysql.sock --all -v
mysqlfrm 在故障的时候根据frm提取某个表结构 (不包括外键约束、自增长序列编号)
例: mysqlfrm --basedir=/usr/local/mysql /data/hellodb/classes.frm --port=3310 --user=root # 注意这个端口是随便起的
mysqlindexcheck找出某个库下的冗余索引
例:mysqlindexcheck --server=root:'123456'@localhost:3306:/tmp/mysql.sock grafana -f vertical -r -d --stats
mysqlprocgrep 找出符合某些条件的用户连接
参数:
-G, --basic-regexp, --regexp
use 'REGEXP' operator to match pattern. Default is to
use 'LIKE'.
-Q, --print-sql, --sql
print the statement instead of sending it to the
server. If a kill option is submitted, a procedure
will be generated containing the code for executing
the kill.
--sql-body only print the body of the procedure.
--kill-connection kill all matching connections.
--kill-query kill query for all matching processes.
--print print all matching processes.
-f FORMAT, --format=FORMAT
display the output in either grid (default), tab, csv,
or vertical format
-v, --verbose control how much information is displayed. e.g., -v =
verbose, -vv = more verbose, -vvv = debug
--match-id=PATTERN match the 'ID' column of the PROCESSLIST table.
--match-user=PATTERN match the 'USER' column of the PROCESSLIST table.
--match-host=PATTERN match the 'HOST' column of the PROCESSLIST table.
--match-db=PATTERN match the 'DB' column of the PROCESSLIST table.
--match-command=PATTERN
match the 'COMMAND' column of the PROCESSLIST table.
--match-info=PATTERN match the 'INFO' column of the PROCESSLIST table.
--match-state=PATTERN
match the 'STATE' column of the PROCESSLIST table.
--age=AGE show only processes that have been in the current
state more than a given time.
例:# kill掉sleep状态,且处于sleep超过90秒的用户连接:
mysqlprocgrep --server=root:'123456'@localhost:3306:/tmp/mysql.sock -f vertical --match-command='Sleep' --age=90s --kill-connection
mysqlrpladmin
关于这个工具,可以参考兰春大神的博文 https://yq.aliyun.com/articles/59234#
mysqlserverinfo 列出数据库的明细情况(-d 显示各个default值, --format=vertical 列式显示)
例:mysqlserverinfo --server=root:'123456'@localhost:3306:/tmp/mysql.sock -d --format=vertical
mysqlbinlogpurge清理过期的binlog文件
例:mysqlbinlogpurge --server=root:'123456'@localhost:3306:/tmp/mysql.sock