MySQL 运维常用工具之mysqladmin
2018-02-10 00:00
274 查看
一、作用
mysqladmin用于 Shell 界面下进行MySQL管理,同时可以检查MySQL的配置和状态等,也可以用于创建删除数据库等其它功能。最常用的场景在于监控MySQL的各种使用的情况。例如buffer pool的使用率,buffer pool的大小,QPS TPS 等
语法:
mysqladmin [options] command [command-arg] [command [command-arg]] …
二、常用参数
1.–i
作用和—sleep一样,表示两次输出的时间间隔,它需要和其他具体的命令一起执行才能生效
2.–r
该参数只能和 –i参数以及—ext参数一起使用,作用是将最后一次采集到的值,和前一次的值相减。
这是不加 r参数的结果,显示出来的是累计总查询的次数。
加上-r参数后则显示为两次采集之间的差值
3.debug:
通知实例,将debug信息写入到error log里,例如我们想要知道mysql此时在干什么事情,咋做,先tail -f 你的error log,然后使用 mysqladmin 加参数debug,这样就可以实时的将Mysql实例执行的内容输出到error log,包含了进程,锁,堆栈等非常非常多的信息。
4.status:
打印服务器的摘要信息,包括
Uptime:MySQL已经启动多少秒
Threads:目前有多少个客户连接
Questions:有史以来总共有多少个查询
Slow queries:有史以来总共有多少个慢查询
Opens:有史以来打开过多少张表
Flush tables:执行过多少次Flush命令
Open tables:目前有几张表处于打开的状态
5.extended-status:
同参数-ext,打印详细的服务器信息,是status参数的超集,具体输出信息就不一一讲了,主要有用的就是那几个关于内存使用情况的列
6.processlist:
这个跟在mysql里执行命令show processlist效果是一样的,通常结合参数 –i 使用
7.ping:
检查MySQL实例是否可用,如果显示mysqld is alive则表示可用。
三、日常用法
组合输出法:
mysqladmin -P3306 -uroot -p123456 -h127.0.0.1 -r -i 1 ext |\
awk -F”|” \
“BEGIN{ count=0; }”\
‘{ if($2 ~ /Variable_name/ && ((++count)%20 == 1)){\
}\
else if (2 ~ /Queries/){queries=2 ~ /Queries/){queries=3;}\
else if (2 ~ /Com_select /){com_select=2 ~ /Com_select /){com_select=3;}\
else if (2 ~ /Com_insert /){com_insert=2 ~ /Com_insert /){com_insert=3;}\
else if (2 ~ /Com_update /){com_update=2 ~ /Com_update /){com_update=3;}\
else if (2 ~ /Com_delete /){com_delete=2 ~ /Com_delete /){com_delete=3;}\
else if (2 ~ /Innodb_rows_read/){innodb_rows_read=2 ~ /Innodb_rows_read/){innodb_rows_read=3;}\
else if (2 ~ /Innodb_rows_deleted/){innodb_rows_deleted=2 ~ /Innodb_rows_deleted/){innodb_rows_deleted=3;}\
else if (2 ~ /Innodb_rows_inserted/){innodb_rows_inserted=2 ~ /Innodb_rows_inserted/){innodb_rows_inserted=3;}\
else if (2 ~ /Innodb_rows_updated/){innodb_rows_updated=2 ~ /Innodb_rows_updated/){innodb_rows_updated=3;}\
else if (2 ~ /Innodb_buffer_pool_read_requests/){innodb_lor=2 ~ /Innodb_buffer_pool_read_requests/){innodb_lor=3;}\
else if (2 ~ /Innodb_buffer_pool_reads/){innodb_phr=2 ~ /Innodb_buffer_pool_reads/){innodb_phr=3;}\
else if ($2 ~ /Uptime / && count >= 2){\
printf(” %s |%9d”,strftime(“%H:%M:%S”),queries);\
printf(“|%6d %6d %6d %6d”,com_select,com_insert,com_update,com_delete);\
printf(“|%6d %8d %7d %7d”,innodb_rows_read,innodb_rows_inserted,innodb_rows_updated,innodb_rows_deleted);\
printf(“|%10d %11d\n”,innodb_lor,innodb_phr);\
}}’
参考文档
http://www.orczhou.com/index.php/2014/03/some-tricky-about-mysqladmin-extended-status/
mysqladmin用于 Shell 界面下进行MySQL管理,同时可以检查MySQL的配置和状态等,也可以用于创建删除数据库等其它功能。最常用的场景在于监控MySQL的各种使用的情况。例如buffer pool的使用率,buffer pool的大小,QPS TPS 等
语法:
mysqladmin [options] command [command-arg] [command [command-arg]] …
二、常用参数
1.–i
作用和—sleep一样,表示两次输出的时间间隔,它需要和其他具体的命令一起执行才能生效
2.–r
该参数只能和 –i参数以及—ext参数一起使用,作用是将最后一次采集到的值,和前一次的值相减。
这是不加 r参数的结果,显示出来的是累计总查询的次数。
加上-r参数后则显示为两次采集之间的差值
3.debug:
通知实例,将debug信息写入到error log里,例如我们想要知道mysql此时在干什么事情,咋做,先tail -f 你的error log,然后使用 mysqladmin 加参数debug,这样就可以实时的将Mysql实例执行的内容输出到error log,包含了进程,锁,堆栈等非常非常多的信息。
4.status:
打印服务器的摘要信息,包括
Uptime:MySQL已经启动多少秒
Threads:目前有多少个客户连接
Questions:有史以来总共有多少个查询
Slow queries:有史以来总共有多少个慢查询
Opens:有史以来打开过多少张表
Flush tables:执行过多少次Flush命令
Open tables:目前有几张表处于打开的状态
5.extended-status:
同参数-ext,打印详细的服务器信息,是status参数的超集,具体输出信息就不一一讲了,主要有用的就是那几个关于内存使用情况的列
6.processlist:
这个跟在mysql里执行命令show processlist效果是一样的,通常结合参数 –i 使用
7.ping:
检查MySQL实例是否可用,如果显示mysqld is alive则表示可用。
三、日常用法
组合输出法:
mysqladmin -P3306 -uroot -p123456 -h127.0.0.1 -r -i 1 ext |\
awk -F”|” \
“BEGIN{ count=0; }”\
‘{ if($2 ~ /Variable_name/ && ((++count)%20 == 1)){\
print "----------|---------|--- MySQL Command Status --|----- Innodb row operation ----|-- Buffer Pool Read --";\ print "---Time---|---QPS---|select insert update delete| read inserted updated deleted| logical physical";\
}\
else if (2 ~ /Queries/){queries=2 ~ /Queries/){queries=3;}\
else if (2 ~ /Com_select /){com_select=2 ~ /Com_select /){com_select=3;}\
else if (2 ~ /Com_insert /){com_insert=2 ~ /Com_insert /){com_insert=3;}\
else if (2 ~ /Com_update /){com_update=2 ~ /Com_update /){com_update=3;}\
else if (2 ~ /Com_delete /){com_delete=2 ~ /Com_delete /){com_delete=3;}\
else if (2 ~ /Innodb_rows_read/){innodb_rows_read=2 ~ /Innodb_rows_read/){innodb_rows_read=3;}\
else if (2 ~ /Innodb_rows_deleted/){innodb_rows_deleted=2 ~ /Innodb_rows_deleted/){innodb_rows_deleted=3;}\
else if (2 ~ /Innodb_rows_inserted/){innodb_rows_inserted=2 ~ /Innodb_rows_inserted/){innodb_rows_inserted=3;}\
else if (2 ~ /Innodb_rows_updated/){innodb_rows_updated=2 ~ /Innodb_rows_updated/){innodb_rows_updated=3;}\
else if (2 ~ /Innodb_buffer_pool_read_requests/){innodb_lor=2 ~ /Innodb_buffer_pool_read_requests/){innodb_lor=3;}\
else if (2 ~ /Innodb_buffer_pool_reads/){innodb_phr=2 ~ /Innodb_buffer_pool_reads/){innodb_phr=3;}\
else if ($2 ~ /Uptime / && count >= 2){\
printf(” %s |%9d”,strftime(“%H:%M:%S”),queries);\
printf(“|%6d %6d %6d %6d”,com_select,com_insert,com_update,com_delete);\
printf(“|%6d %8d %7d %7d”,innodb_rows_read,innodb_rows_inserted,innodb_rows_updated,innodb_rows_deleted);\
printf(“|%10d %11d\n”,innodb_lor,innodb_phr);\
}}’
参考文档
http://www.orczhou.com/index.php/2014/03/some-tricky-about-mysqladmin-extended-status/
相关文章推荐
- MySQL 运维常用工具之 stat 类
- MySQL 常用运维工具之内核和代码分析
- MySQL 运维常用工具之备份恢复
- mysql 性能优化常用工具
- MySQL常用维护管理工具
- 五款常用mysql slow log分析工具的比较
- MYSQL中的常用工具
- Mysqladmin Mysql 管理工具
- mysql DBA:mysqladmin常用命令总结
- 六个很常用的MySQL可视化工具推荐
- (转)MySQL常用维护管理工具
- MySQL维护管理工具中五大常用工具
- 海量运维常用技术之---自动化运维工具选型及应用场景 推荐
- 自动化运维工具Ansible实战(四)常用模块
- 五款常用mysql slow log分析工具的比较
- 工作常用的linux/mysql/php/工具命令
- 常用的 mysql slowquery 日志分析工具
- MySQL常用维护管理工具
- 集群运维自动化工具ansible使用playbook安装mysql
- 运维常用工具