MySql中的常用参数查询

目录
  • 1、超时时间
  • 2、查看最大连接数
  • 3、查看当前数据库状态
  • 总结

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
--------------

总结

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

(0)

相关推荐

  • MySQL通过实例化对象参数查询实例讲解

    本篇文章给大家带来的内容是关于MySQL如何通过实例化对象参数查询数据 ?(源代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. public static string QueryByEntity<T>(T t) where T : new() { string resultstr = string.Empty; MySqlDataReader reader = null; try { Type type = typeof(T); PropertyInfo[] prope

  • MySQL 参数相关概念及查询更改方法

    前言: 在前面一些文章中,经常能看到介绍某某参数的作用,可能有些小伙伴仍搞不清楚 MySQL 参数是啥.本篇文章我们来聊聊 MySQL 参数,学习下如何管理维护 MySQL 参数. 1.MySQL参数概念 我们所说的参数在官方文档中称为 系统变量 (system variable),不同的变量有着不同的作用. MySQL 服务端维护了许多表示其配置的系统变量,所有变量均有默认值.一般可以在启动命令行中或配置文件中对它们进行设置. 系统变量分为全局系统变量(global)和会话系统变量(sessi

  • MySQL 服务器参数说明及查看 设置方法

    查看参数:SHOW VARIABLES: 设置参数:SET GLOBAL 参数名称=value:如设置数据库最大连接数为:SET GLOBAL max_connections=1000. 用shell>mysqld-help这个命令可以得到一张所有mysql选项和可配置变量的表.输出以下信息: possible variables for option--set-variable(-o) are: back_log current value:5 //要求mysql能有的连接数量.back_lo

  • MySQL中一条SQL查询语句是如何执行的

    目录 前言 1. 处理连接 1.1 客户端和服务端的通信方式 1.1.1 TCP/IP协议 1.1.2 UNIX域套接字 1.1.3 命名管道和共享内存 1.2 权限验证 1.3 查看MySQL连接 2. 解析与优化 2.1 查询缓存 2.2 解析器 & 预处理器(Parser & Preprocessor) 2.2.1 词法解析 2.2.2 语法分析 2.2.3 预处理器 2.3 查询优化器(Optimizer)与查询执行计划 2.3.1 什么是查询优化器? 2.3.2 优化器究竟做了什

  • MySQL中explain使用快速查询手册

    目录 一. 前言 二 . explain 使用 三. 业务实践 3.1 以 user_id 为条件进行查找的思路 3.2 以更新时间为查询条件 3.3 简单优化通过 orgId 进行切割 3.4 多索引条件的抉择 3.5 连表查询的关注点 四. 深入问题 4.1 explain 的结果能作为最终决策吗? 总结 参考 : 一. 前言 上一篇整理完了 MySQL 的性能优化方式 , 其中最常用的就是 explain . 这一篇来详细看看 explain 中各个参数的含义和扩展 , 整理出来便于使用时

  • MySQL中的常用函数

    在MySQL中,函数不仅可以出现在select语句及其子句中,而且还可以出现在update.delete语句中. 常用的函数有: 1. 字符串函数:主要用于处理字符串. 2. 数值函数:主要用于处理数字. 3. 日期和时间函数:主要用于处理日期和事件. 4. 系统信息函数:获取系统信息. 1. 使用字符串函数: 虽然每种数据库都支持SQL,但是每种数据库拥有各自所支持的函数. 1.1 合并字符串函数concat() 和 concat_ws(): 在MySQL中可以通过函数concat()和con

  • mysql中操作表常用的sql总结

    1.查看表格的各个字段类型 describe table_name desc table_name 2.给表名重命名 rename table 原表名 to 新表名; 3.mysql查询超时解决 select /+QUERY_TIMEOUT(150000000000)/ * from table_name sql加上+/+QUERY_TIMEOUT(150000000000)/ 4.查看索引 show index from table_name 5.创建普通索引 create index 索引名

  • MySQL中使用流式查询避免数据OOM

    一.前言 程序访问MySQL数据库时,当查询出来的数据量特别大时,数据库驱动把加载到的数据全部加载到内存里,就有可能会导致内存溢出(OOM). 其实在MySQL数据库中提供了流式查询,允许把符合条件的数据分批一部分一部分地加载到内存中,可以有效避免OOM:本文主要介绍如何使用流式查询并对比普通查询进行性能测试. 二.JDBC实现流式查询 使用JDBC的PreparedStatement/Statement的setFetchSize方法设置为Integer.MIN_VALUE或者使用方法State

  • 分析mysql中一条SQL查询语句是如何执行的

    目录 一.MySQL 逻辑架构概览 二.连接器(Connector) 三.查询缓存(Query Cache) 四.解析器(Parser) 五.优化器(Optimizer) 六.执行器 七.小结 一.MySQL 逻辑架构概览 MySQL 最重要.最与众不同的特性就是它的可插拔存储引擎架构(pluggable storage engine architecture),这种架构的设计将查询处理及其他系统任务和数据的存储/提取分离开来.来看官网的解释: The MySQL pluggable stora

  • mysql中DCL常用的用户和权限控制

    目录 前言 一.用户控制管理 二.权限控制管理 三. 数据库权限列表 前言 本文总结了mysql中DCL,常用的一些权限控制,后续使用到其他会继续补充. 一.用户控制管理 创建用户 create user '用户名'@'主机名' identified by '密码'; 修改用户密码 alter user '用户名'@'主机名' identified with mysql_native_password by '密码'; 删除用户 drop user '用户名'@'主机名'; 例如: #1 查询用

  • MySql中如何使用 explain 查询 SQL 的执行计划

    explain命令是查看查询优化器如何决定执行查询的主要方法. 这个功能有局限性,并不总会说出真相,但它的输出是可以获取的最好信息,值得花时间去了解,因为可以学习到查询是如何执行的. 1.什么是MySQL执行计划 要对执行计划有个比较好的理解,需要先对MySQL的基础结构及查询基本原理有简单的了解. MySQL本身的功能架构分为三个部分,分别是 应用层.逻辑层.物理层,不只是MySQL ,其他大多数数据库产品都是按这种架构来进行划分的. 应用层,主要负责与客户端进行交互,建立链接,记住链接状态,

  • MySQL中进行跨库查询的方法示例

    前言 在MySQL中跨库查询主要分为两种情况,一种是同服务的跨库查询:另一种是不同服务的跨库查询:它们进行跨库查询是不同的,下面就具体介绍这两种跨库查询. 一.同服务的跨库查询 同服务的跨库查询只需要在关联查询的时候带上数据名,SQL的写法是这样的:SELECT * FROM 数据库1.table1 x JOIN 数据库2.table2 y ON x.field1=y.field2:例如: 二.不同服务的跨库查询 不同服务的跨库查询,直接通过数据名加表明是无法进行关联的,这里需要用到MySQL数

  • MySQL中的常用工具实例汇总(推荐)

    前言 本文主要给大家介绍了关于MySQL常用工具的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 一.mysql (客户端连接工具) 使用最频繁的连接数据库的客户端工具,使用语法如下: mysql [options] [database] 这里的 options 表示 mysql 的可用选项,可以一次写一个或者多个,甚至可以不写:database 表示连接的数据库,一次只能写一个或者不写,如果不写,连接成功后需要用 "use database"命令来进入要操

随机推荐