MySql中的常用参数查询

 更新时间:2023年02月17日 08:39:41   作者:WFkwYu  
这篇文章主要介绍了MySql中的常用参数查询,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

1、超时时间

以下这些配置项单位都是秒,在mysql命令行中可以使用show global variables like '变量名';可查询配置值。

mysql> show global variables like '%timeout%';
+-----------------------------+----------+
| Variable_name               | Value    |
+-----------------------------+----------+
| connect_timeout             | 10       |
| delayed_insert_timeout      | 300      |
| have_statement_timeout      | YES      |
| innodb_flush_log_at_timeout | 1        |
| innodb_lock_wait_timeout    | 50       |
| innodb_rollback_on_timeout  | OFF      |
| interactive_timeout         | 28800    |
| lock_wait_timeout           | 31536000 |
| net_read_timeout            | 30       |
| net_write_timeout           | 60       |
| rpl_stop_slave_timeout      | 31536000 |
| slave_net_timeout           | 60       |
| wait_timeout                | 28800    |
+-----------------------------+----------+
  • connect_timeout:连接响应超时时间。服务器端在这个时间内如未连接成功,则会返回连接失败。
  • wait_timeout:连接空闲超时时间。与服务器端无交互状态的连接,直到被服务器端强制关闭而等待的时间。可以认为是服务器端连接空闲的时间,空闲超过这个时间将自动关闭。
  • interactive_timeout :连接空闲超时时间。与服务器端无交互状态的连接,直到被服务器端强制关闭而等待的时间。
  • interactive_timeoutwait_timeoutu意义虽然相同,但是有使用对象有本质的区别。interactive_timeout针对交互式连接(比如通过mysql客户端连接数据库),wait_timeout针对非交互式连接(比如一般在PHP中使用PDO连接数据库,当然你可以设置CLIENT_INTERACTIVE选项来改变)。所谓的交互式连接,即在mysql_real_connect()函数中使用了CLIENT_INTERACTIVE选项。
  • net_read_timeout :数据读取超时时间。在终止读之前,从一个连接获得数据而等待的时间秒数;当服务正在从客户端读取数据时,net_read_timeout控制何时超时。即客户端执行数据读取,等待多少秒仍未执行成功时自动断开连接。 
  • net_write_timeout:数据库写超时时间。和net_read_timeout意义类似,在终止写之前,等待多少秒把block写到连接;当服务正在写数据到客户端时,net_write_timeout控制何时超时。
  • slave-net-timeout:从库延后同步的时间,当slave认为连接master的连接有问题时,就等待N秒,然后断开连接,重新连接master

slave-net-timeout在主从同步时从库上起作用;connect_timeout:在获取连接阶段起作用;interactive_timeout和wait_timeout:在连接空闲阶段起作用;net_read_timeout和net_write_timeout:则是在连接执行时起作用。

MySQL连接超时设置的问题。默认的wait_timeout 是28800,8个小时。

解决办法有两种,

方法一,将连接池中的超时时间设置的短于这个值(本项目用的spring boot data jpa,默认连接,设置后不起作用);

方法二,把mysql的这个值设大一些:在[mysqld]下加wait_timeout = 86400。此时是设置的全局设定,可通过命令 show global variables like “%timeout%”;看到变化,而show variables like “%timeout%”;和show session variables like “%timeout%”;仍为原值。

这个值设置为多大应根据应用使用情况来定。太小会导致频繁超时,太多会导致连接长时间不释放,也会出错。所以一方面调整好这个数值,一方面采用更好的连接池方案。

2、查看最大连接数

mysql> show global status like 'Max_used_connections';
+----------------------+-------+
| Variable_name        | Value |
+----------------------+-------+
| Max_used_connections | 4     |
+----------------------+-------+
1 row in set (0.00 sec)
 
mysql> show variables like 'max_connections%';
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| max_connections | 10000 |
+-----------------+-------+
1 row in set (0.01 sec)

通常max_connections的大小应该设置为比Max_used_connections状态值大,Max_used_connections状态值反映服务器连接在某个时间段是否有尖峰,如果该值大于max_connections值,代表客户端至少被拒绝了一次,可以简单地设置为符合以下条件:Max_used_connections/max_connections=0.8 

3、查看当前数据库状态

mysql> status;
--------------
mysql  Ver 14.14 Distrib 5.7.14, for linux-glibc2.5 (x86_64) using  EditLine wrapper
 
Connection id:        17318
Current database:    
Current user:        root@localhost
SSL:            Not in use
Current pager:        stdout
Using outfile:        ''
Using delimiter:    ;
Server version:        5.7.14-log MySQL Community Server (GPL)
Protocol version:    10
Connection:        Localhost via UNIX socket
Server characterset:    utf8
Db     characterset:    utf8
Client characterset:    utf8
Conn.  characterset:    utf8
UNIX socket:        /tmp/mysql.sock
Uptime:            20 hours 2 min 14 sec
 
Threads: 5  Questions: 118037  Slow queries: 0  Opens: 1743  Flush tables: 1  Open tables: 916  Queries per second avg: 1.636
--------------

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • MySQL数据库基础入门之常用命令小结

    MySQL数据库基础入门之常用命令小结

    这篇文章主要介绍了MySQL数据库基础入门之常用命令,结合实例形式分析了MySQL数据库管理、备份、日志常用操作命令与使用注意事项,需要的朋友可以参考下
    2020-05-05
  • mysql如何获取时间整点

    mysql如何获取时间整点

    这篇文章主要介绍了mysql如何获取时间整点问题,具有很好的的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • mysql prompt一个特别好用的命令

    mysql prompt一个特别好用的命令

    本篇文章是对mysql中的prompt进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • MySQL示例DTID主从原理解析

    MySQL示例DTID主从原理解析

    这篇文章主要介绍了MySQL示例DTID主从原理解析,其实包含了详细的使用方法说明,有需要的朋友可以借鉴参考下,希望可以有所帮助,感谢阅读
    2021-09-09
  • Windows安装MySQL后怎么开启root的网络访问权限

    Windows安装MySQL后怎么开启root的网络访问权限

    Windows安装MySQL后默认只能本机访问,怎么开启网络访问,本文给大家介绍介绍了Windows安装MySQL后怎么开启root的网络访问权限,需要的朋友可以参考下
    2023-08-08
  • 查看linux服务器上mysql配置文件路径的方法

    查看linux服务器上mysql配置文件路径的方法

    下面小编就为大家带来一篇查看linux服务器上mysql配置文件路径的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-10-10
  • SQL SERVER递归查询的实现

    SQL SERVER递归查询的实现

    本文主要介绍了SQL SERVER递归查询的实现,递归查询是通过CTE来实现,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01
  • mysql占用CPU超过100%的详细解决过程

    mysql占用CPU超过100%的详细解决过程

    前段时间我的一个网站经常打不开,通过检查发现服务器cpu占用超过100%,通过top命令发现是mysql占用cpu特别高导致的,下面这篇文章主要给大家介绍了关于mysql占用CPU超过100%的详细解决过程,需要的朋友可以参考下
    2023-10-10
  • mysql之过滤分组的具体实现

    mysql之过滤分组的具体实现

    在MySQL中过滤分组数据通常使用GROUP BY结合HAVING子句和WHERE子句,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-08-08
  • MySql存储过程和游标的使用实例

    MySql存储过程和游标的使用实例

    我们在实际的开发中会遇到一些统计的业务功能,如果我实时的去查询的话有时候会很慢,此时我们可以写一个存储过程来实现,下面这篇文章主要给大家介绍了关于MySql存储过程和游标使用的相关资料,需要的朋友可以参考下
    2022-04-04

最新评论