MariaDB慢查询日志mysql
为何要配置慢查询日志?sql
目的是为了帮助咱们分析MariaDB的瓶颈点。
如何配置?socket
进入MariaDB,执行如下语句:.net
# mysql -uroot -pmysql > show variables like 'slow%'; +---------------------+-------------------+ | Variable_name | Value | +---------------------+-------------------+ | slow_launch_time | 2 | | slow_query_log | OFF | | slow_query_log_file | wangzb01-slow.log | +---------------------+-------------------+ 若是须要开启slow日志,name须要修改slow_query_log 为on > show variables like 'datadir'; +---------------+--------------+ | Variable_name | Value | +---------------+--------------+ | datadir | /data/mysql/ | +---------------+--------------+ > show variables like 'long%'; //配置超时时间 +-----------------+-----------+ | Variable_name | Value | +-----------------+-----------+ | long_query_time | 10.000000 | +-----------------+-----------+
打开配置文件/etc/my.cnf。编辑增长rest
slow_query_log = on slow_query_log_file = /data/mysql/wangzb-slow.log long_query_time = 2 # systemctl restart mysqld //重启mysqld服务
模拟慢查询日志
# mysql -uroot -pmysql > select sleep(5); //执行语句 +----------+ | sleep(5) | +----------+ | 0 | +----------+
查看慢查询日志:code
# cat /data/mysql/wangzb-slow.log //查看查看慢查询日志内容以下 /usr/local/mysql/bin/mysqld, Version: 10.3.11-MariaDB-log (MariaDB Server). started with: Tcp port: 0 Unix socket: /tmp/mysql.sock Time Id Command Argument /usr/local/mysql/bin/mysqld, Version: 10.3.11-MariaDB-log (MariaDB Server). started with: Tcp port: 0 Unix socket: /tmp/mysql.sock Time Id Command Argument Time: 190220 20:42:14 User[@Host](https://my.oschina.net/u/116016): root[root] @ localhost [] Thread_id: 10 Schema: QC_hit: No
扩展:队列
# mysql -uroot -pmysql > show processlist; //查看全部的队列,相似系统查看全部进程 +----+-------------+-----------+------+---------+------+--------------------------+------------------+----------+ | Id | User | Host | db | Command | Time | State | Info | Progress | +----+-------------+-----------+------+---------+------+--------------------------+------------------+----------+ | 2 | system user | | NULL | Daemon | NULL | InnoDB purge worker | NULL | 0.000 | | 1 | system user | | NULL | Daemon | NULL | InnoDB purge coordinator | NULL | 0.000 | | 3 | system user | | NULL | Daemon | NULL | InnoDB purge worker | NULL | 0.000 | | 4 | system user | | NULL | Daemon | NULL | InnoDB purge worker | NULL | 0.000 | | 5 | system user | | NULL | Daemon | NULL | InnoDB shutdown handler | NULL | 0.000 | | 11 | root | localhost | NULL | Query | 0 | Init | show processlist | 0.000 | +----+-------------+-----------+------+---------+------+--------------------------+------------------+----------+ > show full processlist; //查看全部队列时把全部内容展现出来,完整的语句展现出来。 +----+-------------+-----------+------+---------+------+--------------------------+-----------------------+----------+ | Id | User | Host | db | Command | Time | State | Info | Progress | +----+-------------+-----------+------+---------+------+--------------------------+-----------------------+----------+ | 2 | system user | | NULL | Daemon | NULL | InnoDB purge worker | NULL | 0.000 | | 1 | system user | | NULL | Daemon | NULL | InnoDB purge coordinator | NULL | 0.000 | | 3 | system user | | NULL | Daemon | NULL | InnoDB purge worker | NULL | 0.000 | | 4 | system user | | NULL | Daemon | NULL | InnoDB purge worker | NULL | 0.000 | | 5 | system user | | NULL | Daemon | NULL | InnoDB shutdown handler | NULL | 0.000 | | 11 | root | localhost | NULL | Query | 0 | Init | show full processlist | 0.000 | +----+-------------+-----------+------+---------+------+--------------------------+-----------------------+----------+