linux开启慢查询

Linux查看mysql 安装路径

1、查看文件安装路径


因为软件安装的地方不止一个地方,全部先说查看文件安装的全部路径(地址)。

这里以mysql为例。好比说我安装了mysql,可是不知道文件都安装在哪些地方、放在哪些文件夹里,能够用下面的命令查看全部的文件路径
在终端输入:

whereis mysql

回车,若是你安装好了mysql,就会显示文件安装的地址,例如个人显示(安装地址可能会不一样) mysql

  1. [root@localhost ~]# whereis mysqlsql

  2. mysql: /usr/bin/mysql /usr/lib/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gzide

复制代码 spa

2、查询运行文件所在路径(文件夹地址)

若是你只要查询文件的运行文件所在地址,直接用下面的命令就能够了(仍是以mysql为例):

which mysql

终端显示:

[root@localhost ~]# which mysql
/usr/bin/mysql日志

 

 

 

方法一:修改mysql的my.cnf文件orm

Linux:索引

在mysql配置文件/etc/my.cnf中[mysqld]选项下增长:it

vi /etc/my.cnfform

log-slow-queries=/usr/local/mysql/slowquery.log (指定日志文件存放位置,能够为空,系统会给一个缺省的文件host_name-slow.log)
long_query_time=1 (记录超过的时间,默认为10s)
log-queries-not-using-indexes (log下来没有使用索引的query,能够根据状况决定是否开启)
log-long-format (若是设置了,全部没有使用索引的查询也将被记录)class

Windows:

在my.ini的[mysqld]添加以下语句:
log-slow-queries = D:\www\mysql\log\mysqlslowquery.log
long_query_time = 1(其余参数如上)

保存后重启mysql便可加载配置

注意
llog-slow-queries=/usr/local/mysql/slowquery.log 为慢查询日志存放的位置,通常这个目录要有MySQL的运行账号的可写权限,通常都将这个目录设置为MySQL的数据存放目录;
long_query_time=1中的1表示查询超过两秒才记录;

方法二:命令方式

cd /usr/local/mysql/bin

mysql -u root -p

enter password

 

mysql> show variables like ”%long%”;         //查看一下默认为慢查询的时间10秒

+—————–+———–+

| Variable_name   | Value     |

+—————–+———–+

| long_query_time | 10.000000 |

+—————–+———–+

1 row in set (0.00 sec)

 

mysql> set global long_query_time=2;          //设置成2秒,加上global,下次进mysql已然生效

Query OK, 0 rows affected (0.00 sec)

 

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/mysql-slow.log |

+———————+———————————+

4 rows in set (0.00 sec)

 

mysql> set slow_query_log=’ON’;                        //加上global,否则会报错的。

ERROR 1229 (HY000): Variable ’slow_query_log’ is a GLOBAL variable and should be set with SET GLOBAL

mysql> set global slow_query_log=’ON’;            //启用慢查询

Query OK, 0 rows affected (0.28 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/mysql-slow.log |

+———————+———————————+

4 rows in set (0.00 sec)

相关文章
相关标签/搜索