MySQL Status Mysqlx_connections_accepted 数据库状态作用意思及如何正确
本站中文解释
:表示mysql接受的活动连接数,它计算的是mysql服务器启动以来接受的连接数,和当前活动连接数无关。
connect_errors_internal:表示内部握手失败的次数,它是由于mysql服务器内部失败引起的,而不是由于客户的请求失败引起的。
connect_errors_max_connections:表示达到最大连接数量而无法连接的次数。
threads_connected:表示当前和mysql服务器建立了连接的客户端连接数目,包括准备状态和已经向mysql服务器发送查询需求的连接,但是排除着已经依据项目搜索的客户端的连接。
threads_running:表示mysql服务器中正在执行任务的线程数目。
Queries:表示服务器接收的查询请求数,包括所有 DDL 和 DML 语句。
Questions:表示服务器正在处理的查询请求数,它不包括正在等待同步的查询。
slow_queries:表示查询时间大于 long_query_time 的查询请求数,它只包含分析或执行时间超过了 long_query_time 设置的查询数。
Created_tmp_tables:表示server建立临时表的次数,该变量只包含根据内部表计算出来的临时表。
Bytes_sent :表示服务器发送的字节数。
Bytes_received:表示服务器接收的字节数。
Aborted_connects :表示客户请求连接,服务器关闭连接的次数。
Aborted_clients :表示服务器关闭连接,客户端立即关闭连接的次数。
针对这些status变量,有一些比较常用的设置,主要是对参数max_connections做修改,以及调整long_query_time的参数。
1. max_connections的设置:
max_connections参数控制MySQL服务器最大可以同时拥有的客户端连接数,默认值是100,在生产环境可以根据不同的应用场景和系统资源配置的情况来调整这个参数,常用的调整方法是,如果一台服务器有大量的客户端请求连接,那么可以将max_connections参数值提高,也可以考虑放开max_connect_errors参数,这样可以使更多的客户端请求连接。如果一台服务器资源较为有限,比如内存、cpu等,那么可以考虑降低max_connections参数来控制连接数,从而避免资源紧张。
2. long_query_time的设置:
long_query_time参数控制slow queries时间,表示超过long_query_time设定的时间在日志中才会被记录为slow queries,默认是10秒,但是在生产环境,我们有时需要调整该值,从而避免那些比较耗时但是正常的操作被认定为slowqueries,而且还可以有效控制系统的负载,让MySQL可以承受更大的查询量,避免某些耗时的操作限制系统的性能。可以针对不同的应用场景来设置不同的long_query_time,一般来说,后台数据处理类的就设置更高一点,登录、检索类的操作就可以设置低一点,从而获取更多的可用服务吞吐量。
总的来说,MySQL的status变量反应了MySQL服务器的运行状态,它包含着关于连接、查询等相关信息,它是运维人员对MySQL应用状况进