mysql常用监控命令

adb pull /sdcard/walktour/xycrash e:\qqqqqq
adb shell rm /sdcard/walktour/xycrash/*.log

# 1 链接数
select host,count(host) from information_schema.processlist group by host;
# 2 查看数据库 大小
select table_schema,round(sum(data_length+index_length)/1024/1024,4) from information_schema.tables group by table_schema;

# 3 mysql Key Buffer 命中率 key_buffer_read_hits = (1 - Key_reads / Key_read_requests)
# * 100% key_buffer_write_hits= (1 - Key_writes / Key_write_requests) * 100%
SHOW /*!50000 GLOBAL */ STATUS LIKE "Key%";

# 4 mysql Innodb Buffer 命中率 innodb_buffer_read_hits=(1-Innodb_buffer_pool_reads/
#Innodb_buffer_pool_read_requests) * 100%
SHOW /*!50000 GLOBAL */ STATUS LIKE "Innodb_buffer_pool_read%";

#5 mysql Query Cache 命中率 Query_cache_hits= (Qcache_hits / (Qcache_hits
# + Qcache_inserts)) * 100%
SHOW /*!50000 GLOBAL */ STATUS LIKE "Qcache%";

#6 mysql Table Cache 状态量
SHOW /*!50000 GLOBAL */ STATUS LIKE "Open%";

#7 mysql Thread Cache 命中率 Thread_cache_hits = (1 - Threads_created /
#Connections) * 100% 正常来说,Thread Cache 命中率要在 90% 以上才算比较合理。
SHOW /*!50000 GLOBAL */ STATUS LIKE "Thread%";

#8 mysql Binlog Cache 使用状况:Binlog Cache 用于存放还未写入磁盘的 Binlog 信 息 。
SHOW /*!50000 GLOBAL */ STATUS LIKE "Binlog_cache%";

#9 mysql nnodb_log_waits 量:Innodb_log_waits 状态变量直接反应出 Innodb Log
#Buffer 空间不足造成等待的次数
SHOW /*!50000 GLOBAL */ STATUS LIKE "Innodb_log_waits";
#10 mysql Tmp table 状况 Tmp Table 的状况主要是用于监控
#MySQL 使用临时表的量是否过多,是否有临时表过大而不得不从内存中换出到磁盘文件上
SHOW /*!50000 GLOBAL */ STATUS LIKE "Created_tmp%";
#11 mysql 锁定状态:锁定状态包括表锁和行锁两种,我们可以通过系统状态变
#量获得锁定总次数,锁定造成其他线程等待的次数,以及锁定等待时间信息
SHOW /*!50000 GLOBAL */ STATUS LIKE "%lock%";

MySQL 默认的最大连接数为 100,可以在 mysql 客户端使用以下命令查看
mysql> show variables like 'max_connections';
要对 mysql 的最大连接数进行修改,有三种方法:

1.在 https://www.360docs.net/doc/761477792.html,f 配置文件里面修改 max_connections 的值,然后重启 mysql 就行。如果 my.ini 文件中没有找到 max_connections 条目,可自行添加以下条目:

max_connections = 200

2.命令行下执行 set GLOBAL max_connections=200

3.修改源代码

MySQL服务器允许的最大连接数16384,添加了最大允许连接数,对系统消耗增加不

其他状态查询命令:

显示当前运行的线程:mysql> show processlist;
show full processlist;

显示当前状态:mysql> show status

显示安装后的可用存储引擎和默认引擎 :show engines;

查看各个表的数量 test001 为库名
use information_schema;
select table_name,table_rows from tables
where TABLE_SCH

EMA = 'test001'
order by table_rows desc;


命令: show status;
命令:show status like '%下面变量%';
Aborted_clients 由于客户没有正确关闭连接已经死掉,已经放弃的连接数量。
Aborted_connects 尝试已经失败的MySQL服务器的连接的次数。
Connections 试图连接MySQL服务器的次数。
Created_tmp_tables 当执行语句时,已经被创造了的隐含临时表的数量。
Delayed_insert_threads 正在使用的延迟插入处理器线程的数量。
Delayed_writes 用INSERT DELAYED写入的行数。
Delayed_errors 用INSERT DELAYED写入的发生某些错误(可能重复键值)的行数。
Flush_commands 执行FLUSH命令的次数。
Handler_delete 请求从一张表中删除行的次数。
Handler_read_first 请求读入表中第一行的次数。
Handler_read_key 请求数字基于键读行。
Handler_read_next 请求读入基于一个键的一行的次数。
Handler_read_rnd 请求读入基于一个固定位置的一行的次数。
Handler_update 请求更新表中一行的次数。
Handler_write 请求向表中插入一行的次数。
Key_blocks_used 用于关键字缓存的块的数量。
Key_read_requests 请求从缓存读入一个键值的次数。
Key_reads 从磁盘物理读入一个键值的次数。
Key_write_requests 请求将一个关键字块写入缓存次数。
Key_writes 将一个键值块物理写入磁盘的次数。
Max_used_connections 同时使用的连接的最大数目。
Not_flushed_key_blocks 在键缓存中已经改变但是还没被清空到磁盘上的键块。
Not_flushed_delayed_rows 在INSERT DELAY队列中等待写入的行的数量。
Open_tables 打开表的数量。
Open_files 打开文件的数量。
Open_streams 打开流的数量(主要用于日志记载)
Opened_tables 已经打开的表的数量。
Questions 发往服务器的查询的数量。
Slow_queries 要花超过long_query_time时间的查询数量。
Threads_connected 当前打开的连接的数量。
Threads_running 不在睡眠的线程数量。
Uptime 服务器工作了多少秒。


查看服务器配置参数。
6 show variables like ‘%timeout%’;

这条命令能够查看当前有那些表是打开的。In_use列表示有多少线程正在使用某张表,Name_locked表示表名是否被锁,这一般发生在Drop或Rename命令操作这张表时。所以这条命令不能帮助解答我们常见的问题:当前某张表是否有死锁,谁拥有表上的这个锁等。
show open tables;
show open tables from database;




如果进程过多,就把进程打印下来,然后查看

mysql -e 'show full processlist;' > 111

查找非locked的进程,一般就是当前执行中卡死,导致后面的进程排队的原因。


一、MySQL 连接本地数据库,用户名为“root”,密码“123”(注意:“-p”和“123” 之间不能有空格)

C:\>mysql -h localhost -u root -p123


二、MySQL 连接远程数据库(192.168.0.201),端口“3306”,用户名为“root”,密码“123”

C:\>mysql -h 172.16.16.45 -P 3306 -u root -p123

相关文档
最新文档