mysql 慢查询连接数_centos mysql 慢查询、超时、连接数修改

centos mysql 慢查询、超时、连接数修改

2017-10-27 Frank 数据库

[TOC]

查看是否开启慢查询show variables like '%quer%' ;

开启慢查询

编辑vim /etc/my.cnf

在[mysqld]下面加入慢查询的配置语句long_query_time=1 #超过1秒的会记录

slow_query_log

#log_queries_not_using_indexes=0

重启服务

service mysqld restart

MySQL5.6+ long_query_time 无效 配置文件设置如下:

log_queries_not_using_indexes=0

set global log_queries_not_using_indexes=0;

测试查看日志#测试

select sleep(2) ;

# 查看日志路径

show variables like '%slow%';

#查看日志分析

[root@116 mysql]# mysqldumpslow -s r -t 10 /var/run/mysqld/mysqld-slow.log

Reading mysql slow query log from /var/run/mysqld/mysqld-slow.log

Count: 1 Time=2.02s (2s) Lock=0.00s (0s) Rows=1.0 (1), exam[exam]@localhost

select sleep(N)

Died at /usr/bin/mysqldumpslow line 162, <> chunk 1.

关于mysqldumpslow

-s, 是表示按照何种方式排序,c、t、l、r分别是按照记录次数、时间、查询时间、返回的记录数来排序,ac、at、al、ar,表示相应的倒叙;

-t, 是top n的意思,即为返回前面多少条的数据;

-g, 后边可以写一个正则匹配模式,大小写不敏感的;

比如

/path/mysqldumpslow -s r -t 10 /database/mysql/slow-log

得到返回记录集最多的10个查询。

/path/mysqldumpslow -s t -t 10 -g “left join” /database/mysql/slow-log

得到按照时间排序的前10条里面含有左连接的查询语句。

超时及进程数show processlist;

show variables like '%timeout%' ;

#默认28800

set interactive_timeout = 1800 ;

set wait_timeout = 1800 ;[mysqld]

wait_timeout=20

interactive_timeout=20

修改最大连接数

root登录

登录成功后执行以下语句查询当前的最大连接数:select VARIABLE_VALUE from information_schema.GLOBAL_VARIABLES where VARIABLE_NAME='MAX_CONNECTIONS';

执行以下语句修改最大连接数:

set global max_connections = 3600;

注意:这个方法只是临时的修改了最大连接数,重新启动MySQL服务后就还原了。

要彻底解决问题还是要修改my.cnf配置文件,这里使用VI来修改,输入命令:vi /etc/my.cnf 回车;打开文件后按“i”键进入编辑状态;

在“[mysqld]”下面添加“max_connections=3600”,按Esc键进入命令模式,输入“:wq”回车(保存并退出)。

执行:service mysql restart 重新启动MySQL服务;

[TOC]

## 查看是否开启慢查询

```sql

show variables like '%quer%' ;

```

## 开启慢查询

编辑vim /etc/my.cnf

在[mysqld]下面加入慢查询的配置语句

```

long_query_time=1 #超过1秒的会记录

slow_query_log

#log_queries_not_using_indexes=0

```

重启服务

```

service mysqld restart

```

MySQL5.6+ long_query_time 无效 配置文件设置如下:

```

log_queries_not_using_indexes=0

```

```

set global log_queries_not_using_indexes=0;

```

## 测试查看日志

```

#测试

select sleep(2) ;

# 查看日志路径

show variables like '%slow%';

#查看日志分析

[root@116 mysql]# mysqldumpslow -s r -t 10 /var/run/mysqld/mysqld-slow.log

Reading mysql slow query log from /var/run/mysqld/mysqld-slow.log

Count: 1 Time=2.02s (2s) Lock=0.00s (0s) Rows=1.0 (1), exam[exam]@localhost

select sleep(N)

Died at /usr/bin/mysqldumpslow line 162, <> chunk 1.

```

##关于mysqldumpslow

-s, 是表示按照何种方式排序,c、t、l、r分别是按照记录次数、时间、查询时间、返回的记录数来排序,ac、at、al、ar,表示相应的倒叙;

-t, 是top n的意思,即为返回前面多少条的数据;

-g, 后边可以写一个正则匹配模式,大小写不敏感的;

比如

/path/mysqldumpslow -s r -t 10 /database/mysql/slow-log

得到返回记录集最多的10个查询。

/path/mysqldumpslow -s t -t 10 -g “left join” /database/mysql/slow-log

得到按照时间排序的前10条里面含有左连接的查询语句。

##超时及进程数

```

show processlist;

show variables like '%timeout%' ;

#默认28800

set interactive_timeout = 1800 ;

set wait_timeout = 1800 ;

```

```

[mysqld]

wait_timeout=20

interactive_timeout=20

```

##修改最大连接数

root登录

登录成功后执行以下语句查询当前的最大连接数:

```

select VARIABLE_VALUE from information_schema.GLOBAL_VARIABLES where VARIABLE_NAME='MAX_CONNECTIONS';

```

执行以下语句修改最大连接数:

```

set global max_connections = 3600;

```

注意:这个方法只是临时的修改了最大连接数,重新启动MySQL服务后就还原了。

要彻底解决问题还是要修改my.cnf配置文件,这里使用VI来修改,输入命令:vi /etc/my.cnf 回车;打开文件后按“i”键进入编辑状态;

在“[mysqld]”下面添加“max_connections=3600”,按Esc键进入命令模式,输入“:wq”回车(保存并退出)。

执行:service mysql restart 重新启动MySQL服务;

>[MySQL开启慢查询](http://www.cnblogs.com/gzgccsu/archive/2013/01/23/2873598.html)

[ CentOS下mysql最大连接数设置 1040 too many connection](http://blog.csdn.net/testcs_dn/article/details/37880489)

发表评论 登录:

昵称

2c6b9431e93c918dea94c1d18a9f2ef2.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值