linux下mysql开启慢查询
mysql中最影响速度的就是那些查询很慢的语句。这些慢的语句,可能是写的不够合理或者是大数据下多表的联合查询等等。所以我们要找出这些语句,分析原因,加以优化。
1、方法1:用命令开启慢查询
1)、查看默认慢查询的时间:
mysql> show variables like "%long%";
+--------------------+-----------+
| Variable_name | Value |
+--------------------+-----------+
| long_query_time | 10.000000 |
| max_long_data_size | 1048576 |
+--------------------+-----------+
2 rows in set (0.24 sec)
2)、改动慢查询时间,建议设置为5秒以内,不要设置过大,不然就失去了慢查询的作用了。
mysql> set global long_query_time=2;
Query OK, 0 rows affected (0.25 sec)
这里设置慢查询时间为2秒。
3)、查看慢查询是否开启
mysql> show variables like "%slow%";
+---------------------+-----------------------------------------+
| Variable_name | Value |
+---------------------+-----------------------------------------+
| log_slow_queries | OFF |
| slow_launch_time | 2 |
| slow_query_log | OFF |
| slow_query_log_file | /usr/local/mysql/var/li411-195-slow.log |
+---------------------+-----------------------------------------+
4 rows in set (0.23 sec)
我们能够看到慢查询未开启。
4)、开启慢查询
mysql> set slow_query_log='ON';
ERROR 1229 (HY000): Variable 'slow_query_log' is a GLOBAL variable and should be
set with SET GLOBAL
报错了。这里须要注意一下的是设置时须要加上 global keyword。
mysql> set global slow_query_log='ON';
Query OK, 0 rows affected (1.11 sec)
再次查看是否开启:
mysql> show variables like "%slow%";
+---------------------+-----------------------------------------+
| Variable_name | Value |
+---------------------+-----------------------------------------+
| log_slow_queries | ON |
| slow_launch_time | 2 |
| slow_query_log | ON |
| slow_query_log_file | /usr/local/mysql/var/li411-195-slow.log |
+---------------------+-----------------------------------------+
4 rows in set (4.04 sec)
我们能够看到mysql 慢查询已经生效了。
2、方法2:改动mysql配置文件my.cnf
在[mysqld]段中增加:
long_query_time = 2
log-slow-queries = /usr/local/mysql/var/localhost-slow.log
重新启动mysql服务就可以。
这里注意一下:自己在 lnmp 环境下通过 /etc/init.d/mysql reload 命令重载mysql服务没有成功开启慢查询,使用 /etc/init.d/mysql restart 命令成功开启了慢查询。
linux下mysql开启慢查询的更多相关文章
- linux下mysql开启远程访问权限 防火墙开放3306端口
linux下mysql开启远程访问权限 防火墙开放3306端口 转载 2017-01-21 作者:JAVA-ANDROID 这篇文章主要为大家详细介绍了linux下mysql开启远程访问权限,防 ...
- linux下mysql开启二进制日志
mysql的查询日志,慢查询日志,错误日志,网上的设置方法是正确的.但在二进制日志上设置有问题.正确的设置方法如下, 在/etc/my.cnf文件中[mysqld]下加上: server-id = 1 ...
- linux 下mysql 开启远程连接
系统通过netstat -ntlp 来查看正在运行服务所使用的端口 ,查看3306端口是否开启. 防火墙iptables 如果是新装的 系统, 一般不用管这个因素,不过我们也先 用service i ...
- linux下mysql开启远程访问权限及防火墙开放3306端口
默认mysql的用户是没有远程访问的权限的,因此当程序跟数据库不在同一台服务器上时,我们需要开启mysql的远程访问权限. 主流的有两种方法,改表法和授权法. 相对而言,改表法比较容易一点,个人也是比 ...
- linux下mysql开启关和重启
开启: /etc/init.d/mysql start关闭: /etc/init.d/mysql stop重启: /etc/init.d/mysql restart 查看字符集show variabl ...
- linux下mysql开启远程访问权限及防火墙开放3306端口(mysql开放host访问权限)
开启mysql的远程访问权限默认mysql的用户是没有远程访问的权限的,因此当程序跟数据库不在同一台服务器上时,我们需要开启mysql的远程访问权限.主流的有两种方法,改表法和授权法.相对而言,改表法 ...
- linux下mysql开启可访问
修改mysql配置连接信息 将bind-address注释 vim /etc/my.cnf 修改mysql用户授权 mysql>GRANT ALL PRIVILEGES ON *.* TO ' ...
- linux下mysql的安装
一.下载 http://dev.mysql.com/downloads/mysql/ 选择对应的版本,这里选择“Linux-Generic” 以64位系统为例,这里需要下载如下两个文件: MySQL- ...
- linux 下 mysql 常用命令
linux 下 mysql 常用命令 阅读目录 ====================== 1.开启和关闭 1.1.开启 1.2.关闭 1.3.重启 2.登录 2.1.密码明文 2.2.密码密文 ...
随机推荐
- iostat的深入理解
问题背景 iostat -xdm 1 通常用来查看机器磁盘IO的性能. 我们一般会有个经验值,比如,ioutil要小于80%, svctm要小于2ms. 前几天碰到一个奇怪的现象:有一台SSD机器,磁 ...
- Locker
题意: 有2个数字串,每次可以变化1-3位(每位+1或-1(0-9,9-0)可循环),求由1串变到2串的最小用的次数. 分析: dp[i][num]表示变到第i位时最后两位组成的数是num时最小次数( ...
- javascript的变态位运算
javascript的变态位运算 var a = "10" | 0; alert(a); alert (typeof a);结果为10,number. 这就是说这条语句可以将字符串 ...
- 简易nagios安装出现的问题及解决方法
安装时候所遇到的问题: A 安装PHP的时候报错xml2-config未找到 安装PHP的时候报错:未找到包libxml2 解决方法:安装libxml2包即可,libxml2是php的依赖包,从而需要 ...
- spring依赖注入原理剖析
PropertyDefinition.java package junit.test; public class PropertyDefinition { private String name; p ...
- 认识Agile,Scrum和DevOps
If everything's under control you are going too slow. 当今的开发,要求faster and faster.所以我们要Agile,become Ag ...
- Linux系统下查看已经登录用户并踢出的方法
LINUX是个多用户系统,一旦连接到网络中,它可以同时为多个登录用户提供服务. 查看用户的操作 查看当前用户: [ROOT@LOCALHOST ROOT] # W ...
- Tcl之Intro
Tool command language, a widely used scripting tool that was deveoped for controlling and extending ...
- Cocos2d-x 关于Android.mk 自动读入CPP
***************************************转载请注明出处:http://blog.csdn.net/lttree************************** ...
- Bash's ArithmeticExpression
[Bash's ArithmeticExpression] let command: let a=17+23 echo "a = $a" # Prints a = 40 let a ...