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.
-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
发表评论 登录: