翼度科技»论坛 编程开发 mysql 查看内容

MySql中的常用参数查询

7

主题

7

帖子

21

积分

新手上路

Rank: 1

积分
21
1、超时时间

以下这些配置项单位都是秒,在mysql命令行中可以使用show global variables like '变量名';可查询配置值。
  1. mysql> show global variables like '%timeout%';
  2. +-----------------------------+----------+
  3. | Variable_name               | Value    |
  4. +-----------------------------+----------+
  5. | connect_timeout             | 10       |
  6. | delayed_insert_timeout      | 300      |
  7. | have_statement_timeout      | YES      |
  8. | innodb_flush_log_at_timeout | 1        |
  9. | innodb_lock_wait_timeout    | 50       |
  10. | innodb_rollback_on_timeout  | OFF      |
  11. | interactive_timeout         | 28800    |
  12. | lock_wait_timeout           | 31536000 |
  13. | net_read_timeout            | 30       |
  14. | net_write_timeout           | 60       |
  15. | rpl_stop_slave_timeout      | 31536000 |
  16. | slave_net_timeout           | 60       |
  17. | wait_timeout                | 28800    |
  18. +-----------------------------+----------+
复制代码

    1. connect_timeout
    复制代码
    :连接响应超时时间。服务器端在这个时间内如未连接成功,则会返回连接失败。
    1. wait_timeout
    复制代码
    :连接空闲超时时间。与服务器端无交互状态的连接,直到被服务器端强制关闭而等待的时间。可以认为是服务器端连接空闲的时间,空闲超过这个时间将自动关闭。
    1. interactive_timeout
    复制代码
    :连接空闲超时时间。与服务器端无交互状态的连接,直到被服务器端强制关闭而等待的时间。
    1. interactive_timeout
    复制代码
    1. wait_timeoutu
    复制代码
    意义虽然相同,但是有使用对象有本质的区别。interactive_timeout针对交互式连接(比如通过mysql客户端连接数据库),wait_timeout针对非交互式连接(比如一般在PHP中使用PDO连接数据库,当然你可以设置CLIENT_INTERACTIVE选项来改变)。所谓的交互式连接,即在mysql_real_connect()函数中使用了CLIENT_INTERACTIVE选项。
    1. net_read_timeout
    复制代码
    :数据读取超时时间。在终止读之前,从一个连接获得数据而等待的时间秒数;当服务正在从客户端读取数据时,net_read_timeout控制何时超时。即客户端执行数据读取,等待多少秒仍未执行成功时自动断开连接。
    1. net_write_timeout
    复制代码
    :数据库写超时时间。和net_read_timeout意义类似,在终止写之前,等待多少秒把block写到连接;当服务正在写数据到客户端时,net_write_timeout控制何时超时。
    1. 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、查看最大连接数
  1. mysql> show global status like 'Max_used_connections';
  2. +----------------------+-------+
  3. | Variable_name        | Value |
  4. +----------------------+-------+
  5. | Max_used_connections | 4     |
  6. +----------------------+-------+
  7. 1 row in set (0.00 sec)
  8.  
  9. mysql> show variables like 'max_connections%';
  10. +-----------------+-------+
  11. | Variable_name   | Value |
  12. +-----------------+-------+
  13. | max_connections | 10000 |
  14. +-----------------+-------+
  15. 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、查看当前数据库状态
  1. mysql> status;
  2. --------------
  3. mysql  Ver 14.14 Distrib 5.7.14, for linux-glibc2.5 (x86_64) using  EditLine wrapper
  4.  
  5. Connection id:        17318
  6. Current database:    
  7. Current user:        root@localhost
  8. SSL:            Not in use
  9. Current pager:        stdout
  10. Using outfile:        ''
  11. Using delimiter:    ;
  12. Server version:        5.7.14-log MySQL Community Server (GPL)
  13. Protocol version:    10
  14. Connection:        Localhost via UNIX socket
  15. Server characterset:    utf8
  16. Db     characterset:    utf8
  17. Client characterset:    utf8
  18. Conn.  characterset:    utf8
  19. UNIX socket:        /tmp/mysql.sock
  20. Uptime:            20 hours 2 min 14 sec
  21.  
  22. Threads: 5  Questions: 118037  Slow queries: 0  Opens: 1743  Flush tables: 1  Open tables: 916  Queries per second avg: 1.636
  23. --------------
复制代码
总结

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

来源:https://www.jb51.net/article/275566.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具