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 | +----+-------------+-----------+------+---------+------+--------------------------+-----------------------+----------+