MySQL常用命令汇总

作者: 迦叶_金色的人生_荣耀而又辉煌 | 来源:发表于2021-01-16 12:23 被阅读0次

上一篇 <<<MySQL的MVCC多版本控制原理
下一篇 >>>


  • 非交互式超时时间,如 JDBC 程序

show global variables like 'wait_timeout';

  • 交互式超时时间,如数据库工具

show global variables like 'interactive_timeout';

  • 连接数配置,太小会导致Too many connections

show variables like '%max_connections%';

  • 设定所接受的包的大小:

show variables like '%max_allowed_packet%';
根据情形不同,其缺省值可能是1M或者4M。
最大值是1G(1073741824),如果设置超过1G,查看最终生效结果也只有1G。

  • 数据文件存储地方

show variables like 'datadir';

  • 查看数据库行数等状态

show table status;


  • 查看表上加过的锁

show open tables;

  • 删除表锁

unlock tables;

  • 隔离级别查看

select @@tx_isolation;

  • 查询时的缓存设置:

show variables like '%query_cache%';

  • InnoDB的buffer pool配置

show status like '%innodb_buffer_pool%'
buffer pool建议配置50-60%左右即可

  • InnoDB每页的大小

show variables like 'innodb_page_size'; 16384/1024=16kb;

  • 慢查询定位

show variables like '%query%';

  • filesort单双路排序阈值设置,默认1024,超出则使用双路排序

show variables like '%max_length_for_sort_data%';

  • 数据库连接池使用情况

show global status like 'Thread%';
Threads_cached--- 服务器端缓存连接;
Threads_connected ---当前打开的连接数
Threads_created ---创建的线程数
Threads_running---正在运行的线程

  • show processlist 查询当前mysql服务器接收所有的连接信息

sleep:线程正在等待客户端发送新的请求;
query:线程正在执行查询或者正在将结果发送给客户端;
locked:在mysql服务器层,该线程正在等待表锁。在存储引擎级别实现的锁,例如InnoDB的行锁,并不会体现在线程状态中。对于MyISAM来说这是一个比较典型的状态。
analyzing and statistics:线程正在收集存储引擎的统计信息,并生成查询的执行计划;
copying to tmp table:线程在执行查询,并且将其结果集复制到一个临时表中,这种状态一般要么是做group by操作,要么是文件排序操作,或者union操作。如果这个状态后面还有on disk标记,那表示mysql正在将一个内存临时表放到磁盘上。
sorting Result:线程正在对结果集进行排序。
sending data:线程可能在多个状态间传送数据,或者在生成结果集,或者在想客户端返回数据。

相关文章

网友评论

    本文标题:MySQL常用命令汇总

    本文链接:https://www.haomeiwen.com/subject/ovhonktx.html