mysql日常检查

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql日常检查相关的知识,希望对你有一定的参考价值。

1)   进入mysql终端

# mysql -uroot -p

2)   查看版本

# mysqladmin -uroot -p version

select @@version;

3)   列出数据库

show databases;

4)   显示哪些线程正在运行

show processlist

5)   查看配置

# cat /etc/my.cnf

6)   查看引擎

>show engines;

默认的引擎

show variables like ‘%storage_engine%‘;

7)   查询日志

show variables like ‘log_%‘;

# cat /etc/my.cnf |grep log

log-bin=mysql-bin

binlog_format=mixed

log-error=/var/log/mysqld.log

# tail -n 20 /var/log/mysqld.log

 

8)   查看所有库大小

 select concat(round(sum(DATA_LENGTH/1024/1024)+sum(INDEX_LENGTH/1024/1024), 2), ‘MB‘) as data from information_schema.tables

所有库大小

select TABLE_SCHEMA, concat(truncate(sum(data_length)/1024/1024,2),‘ MB‘) as data_size,concat(truncate(sum(index_length)/1024/1024,2),‘MB‘) as index_size from information_schema.tables group by TABLE_SCHEMA order by data_length desc;

指定库所有表大小

select TABLE_NAME, concat(truncate(data_length/1024,2),‘ KB‘) as data_size, concat(truncate(index_length/1024,2),‘ KB‘) as index_size from information_schema.tables where TABLE_SCHEMA = ‘mysql‘ group by TABLE_NAME order by data_length desc;

9)   查询表锁统计

show status like ‘table%‘;

如果waited数值较高,说明锁争用较严重

10)         检查键效率

show status like ‘key_read%‘;

key_reads/key_read_requests 尽可能低,至少是1:100,最好是1:1000

11)         检查请求缓存命中

show status like ‘Qcache%‘;

Qcache_lowmem_prunes值非常大,说明缓冲不够

Qcache_hits非常大,说明查询缓冲使用非常频繁,需增大缓冲

12)         判断是否主从

show global status like ‘Slave_running‘; 

13)         临时表

show status like ‘%tmp%‘;

正常created_tmp_disk_tables/created_tmp_tables*100%<=25%

 

以上是关于mysql日常检查的主要内容,如果未能解决你的问题,请参考以下文章

xml Eclipse模板(代码片段)检查参数并最终抛出IllegalArgumentException

VsCode 代码片段-提升研发效率

sublimetext3中保存代码片段

分享前端开发常用代码片段

MySQL checkpoint深入分析

收藏|分享前端开发常用代码片段