MySQL自用脚本(不定期更新)
Posted polestar
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL自用脚本(不定期更新)相关的知识,希望对你有一定的参考价值。
查询指定SQL的trace信息
mysql -uUSER -pPWD -hHOST -e "\ use ins_tc_prd; set session optimizer_trace=‘enabled=on‘; set optimizer_trace_max_mem_size = 1638400; explain SQL; select * from information_schema.optimizer_trace\G;" > trace_log.log
查看表空间的使用情况
select table_name, (data_length+ index_length) /1024/1024 as total_mb, table_rows from information_schema.tables where table_schema= ‘Database‘ ;//不写就是全部
查看MySQL数据库状态
mysqladmin -P3306 -uroot -p -h127.0.0.1 -r -i 1 extended-status |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=$3;}\ else if ($2 ~ /Com_select /){com_select=$3;}\ else if ($2 ~ /Com_insert /){com_insert=$3;}\ else if ($2 ~ /Com_update /){com_update=$3;}\ else if ($2 ~ /Com_delete /){com_delete=$3;}\ else if ($2 ~ /Innodb_rows_read/){innodb_rows_read=$3;}\ else if ($2 ~ /Innodb_rows_deleted/){innodb_rows_deleted=$3;}\ else if ($2 ~ /Innodb_rows_inserted/){innodb_rows_inserted=$3;}\ else if ($2 ~ /Innodb_rows_updated/){innodb_rows_updated=$3;}\ else if ($2 ~ /Innodb_buffer_pool_read_requests/){innodb_lor=$3;}\ else if ($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("|%8d %6d %7d %7d",innodb_rows_read,innodb_rows_inserted,innodb_rows_updated,innodb_rows_deleted);\ printf("|%10d %11d\n",innodb_lor,innodb_phr);\ }}‘;
转自
- http://blog.itpub.net/29510932/viewspace-1812475/
以上是关于MySQL自用脚本(不定期更新)的主要内容,如果未能解决你的问题,请参考以下文章
《懒人Shell脚本》之八——定期备份Mysql数据库表的实现
ahjesus-2020 哔哩哔哩 bilibili 批量下载工具,多 P 解析,定期更新