mysql 开启慢查询记录

  1. Linux查看mysql 安装路径
  2. 一、查看文件安装路径
  3. 由于软件安装的地方不止一个地方,所有先说查看文件安装的所有路径(地址)。
  4. 这里以mysql为例。比如说我安装了mysql,但是不知道文件都安装在哪些地方、放在哪些文件夹里,可以用下面的命令查看所有的文件路径
  5. 在终端输入:
  6. whereis mysql
  7. 回车,如果你安装好了mysql,就会显示文件安装的地址,例如我的显示(安装地址可能会不同)
  8. [root@localhost ~]# whereis mysql
  9. mysql: /usr/bin/mysql /usr/lib/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz
  10. 复制代码
  11. 二、查询运行文件所在路径(文件夹地址)
  12. 如果你只要查询文件的运行文件所在地址,直接用下面的命令就可以了(还是以mysql为例):
  13. which mysql
  14. 终端显示:
  15. [root@localhost ~]# which mysql
  16. /usr/bin/mysql
  17. 方法一:修改mysqlmy.cnf文件
  18. Linux:
  19. mysql配置文件/etc/my.cnf中[mysqld]选项下增加:
  20. vi /etc/my.cnf
  21. log-slow-queries=/usr/local/mysql/slowquery.log (指定日志文件存放位置,可以为空,系统会给一个缺省的文件host_name-slow.log)
  22. long_query_time=1 (记录超过的时间,默认为10s)
  23. log-queries-not-using-indexes (log下来没有使用索引的query,可以根据情况决定是否开启)
  24. log-long-format (如果设置了,所有没有使用索引的查询也将被记录)
  25. Windows:
  26. my.ini的[mysqld]添加如下语句:
  27. log-slow-queries = D:\www\mysql\log\mysqlslowquery.log
  28. long_query_time = 1(其他参数如上)
  29. 保存后重启mysql即可加载配置
  30. 注意
  31. llog-slow-queries=/usr/local/mysql/slowquery.log 为慢查询日志存放的位置,一般这个目录要有MySQL的运行帐号的可写权限,一般都将这个目录设置为MySQL的数据存放目录;
  32. long_query_time=1中的1表示查询超过两秒才记录;
  33. 方法二:命令方式
  34. cd /usr/local/mysql/bin
  35. mysql -u root -p
  36. enter password
  37. mysql> show variables like ”%long%”;         //查看一下默认为慢查询的时间10秒
  38. +—————–+———–+
  39. | Variable_name   | Value     |
  40. +—————–+———–+
  41. | long_query_time | 10.000000 |
  42. +—————–+———–+
  43. 1 row in set (0.00 sec)
  44. mysql> set global long_query_time=2;          //设置成2秒,加上global,下次进mysql已然生效
  45. Query OK, 0 rows affected (0.00 sec)
  46. mysql> show variables like ”%slow%”;          //查看一下慢查询是不是已经开启
  47. +———————+———————————+
  48. | Variable_name       | Value                           |
  49. +———————+———————————+
  50. | log_slow_queries    | OFF                             |
  51. | slow_launch_time    | 2                               |
  52. | slow_query_log      | OFF                             |
  53. | slow_query_log_file | /usr/local/mysql/mysql-slow.log |
  54. +———————+———————————+
  55. 4 rows in set (0.00 sec)
  56. mysql> set slow_query_log=’ON’;                        //加上global,不然会报错的。
  57. ERROR 1229 (HY000): Variable slow_query_log is a GLOBAL variable and should be set with SET GLOBAL
  58. mysql> set global slow_query_log=’ON’;            //启用慢查询
  59. Query OK, 0 rows affected (0.28 sec)
  60. mysql> show variables like ”%slow%”;              //查看是否已经开启
  61. +———————+———————————+
  62. | Variable_name       | Value                           |
  63. +———————+———————————+
  64. | log_slow_queries    | ON                              |
  65. | slow_launch_time    | 2                               |
  66. | slow_query_log      | ON                              |
  67. | slow_query_log_file | /usr/local/mysql/mysql-slow.log |
  68. +———————+———————————+
  69. 4 rows in set (0.00 sec)


posted on 2017-03-21 17:05  signheart  阅读(239)  评论(0编辑  收藏  举报

导航