Table of Contents
slow_query_log = 0
slow_query_log_file = /var/log/mysql/mysql-slow.log
long_query_time = 10
log_queries_not_using_indexes = 0
Home Database Mysql Tutorial How to enable mysql query slow log

How to enable mysql query slow log

May 27, 2023 pm 12:31 PM
mysql

1. What is MySQL slow query log

MySQL slow query log is a performance analysis tool that comes with MySQL and is used to record queries that exceed a specified time threshold. Query request. The slow query log records different performance indicators of each query, such as the required time, number of executions, and execution plan. Developers can use these metrics to identify queries that need optimization to improve efficiency and take appropriate action.

By default, MySQL's slow query log is usually not enabled and requires manual configuration to enable it. Querying the slow log can be enabled by setting parameters in the MySQL configuration file (my.cnf). The following is an example configuration for querying the slow log:

slow_query_log = 1

slow_query_log_file = /var/log/mysql/mysql-slow.log

log_queries_not_using_indexes = 1

long_query_time = 2

Among them, the slow_query_log parameter is used to enable slow query logs, the slow_query_log_file parameter specifies the location of the slow query log file, the log_queries_not_using_indexes parameter is used to log unused information of slow query indexes, and the long_query_time parameter Used to specify the query timeout, in seconds.

2. How to enable MySQL slow query log

By default, MySQL 5.7 and above enable slow query log. Manual configuration is necessary to enable the query slow log feature, especially for older versions of MySQL such as MySQL 5.6 or 5.5, etc. The following are the detailed steps to enable MySQL query slow log:

  1. Open the MySQL configuration file

By default, the MySQL configuration file is in the Linux system The path in is /etc/my.cnf. In Windows systems, the configuration file is usually located in C:Program FilesMySQLMySQL Servermy.ini or C:ProgramDataMySQLMySQL Servermy.ini. Open the file with your favorite editor.

  1. Enable slow query log

Find the following line in the configuration file:

slow_query_log = 0

Remove the comment symbol # from this line and change the value to 1.

slow_query_log = 1

  1. Specify the slow log file path

Find the following line:

slow_query_log_file = /var/log/mysql/mysql-slow.log

Remove the comment symbol # from the line and change the file path to the path you want.

slow_query_log_file = /var/log/mysql/mysql-slow.log

  1. Configure query timeout

Find the following Line:

long_query_time = 10

Remove the comment symbol # from this line and change the value to your desired query timeout threshold in seconds.

long_query_time = 2

  1. Configure the switch for index unused information

Find the following line:

  • log_queries_not_using_indexes = 0

Remove the comment symbol # from this line and change the value to 1 to enable unused slow query indexes in logging operations.

log_queries_not_using_indexes = 1

  1. Save and close the configuration file

Check whether the configuration file has been saved and close the file.

  1. Restart MySQL service

Use the following command to restart the MySQL service:

sudo systemctl restart mysqld

3. How to view the MySQL slow query log

Once you have enabled the MySQL slow query log, the slow query log will automatically record the query information and store it in the specified slow query log file . You can use the following command to view the slow query log:

sudo tail -n 100 /var/log/mysql/mysql-slow.log

Use this command to display the latest 100 slow query logs Record. You can also change the number of rows displayed to your liking. The output will include the time required to execute the slow query and all data tables and subqueries involved in the query.

If you need to query slow logs by date filtering, you can use grep and awk to filter the logs on Linux, as shown below:

grep "21-Jun-2022" /var/log/ mysql/mysql-slow.log | awk '{print substr($2,0,length($2)-1)" "$3$4" "$5}' | less

This command will output in June 2022 All timestamps containing slow query logs on the 21st of the month.

4. How to analyze and optimize MySQL query slow logs

After collecting enough MySQL query slow logs, you can analyze them to determine the queries that need to be optimized. . Here are some best practices for analyzing and optimizing query performance:

  1. Parsing query slow logs with pt-query-digest

pt -query-digest is an open source software that can help you analyze MySQL query slow logs and optimize for problems that arise in them. Here are the steps to install and use pt-query-digest:

  • Install Percona Toolkit

On CentOS 7, you can install it using the following command .

yum install https://repo.percona.com/yum/percona-release-latest.noarch.rpm
yum install percona-toolkit

  • Parse and query slow logs

You can use the following command to use pt-query-digest to parse and query slow logs.

pt-query-digest /var/log/mysql/mysql-slow.log > slow-query-analysis.out

  • Analysis query slow log

Use pt-query-digest to get a detailed analysis report on slow query logs. You can look for the queries that occur most frequently and have the longest timeouts and identify those that need optimization.

  1. Using index fields

The MySQL query slow log records all queries that did not successfully use the index. You can use this information to determine which queries did not. Use appropriate field indexes to speed up queries. Adding indexes in MySQL can greatly optimize query performance. It is important to note that adding too many indexes may reduce query performance because it may increase the cost of query requests and update operations.

  1. Optimize query statements

The query slow log can tell you which queries need to be optimized. If the execution time exceeds the set threshold, the query will be recorded in the log file. You can check the query statement and try using different query statements to optimize execution speed.

  1. Use caching mechanism

The caching mechanism can greatly improve the query speed. If the query results are already stored in the cache, you can avoid query execution and resource overhead and return the results directly. Caching mechanisms can be implemented by using cache providers such as Redis and Memcached.

  1. Adjust MySQL server parameters

The performance of MySQL server can be optimized by adjusting various parameters to optimize the entire database. These parameters include MySQL cache size, connection limit, query timeout, etc. By adjusting these parameters, database service performance can be optimized for specific queries.

The above is the detailed content of How to enable mysql query slow log. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Best Graphic Settings
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. How to Fix Audio if You Can't Hear Anyone
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat Commands and How to Use Them
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

MySQL: Simple Concepts for Easy Learning MySQL: Simple Concepts for Easy Learning Apr 10, 2025 am 09:29 AM

MySQL is an open source relational database management system. 1) Create database and tables: Use the CREATEDATABASE and CREATETABLE commands. 2) Basic operations: INSERT, UPDATE, DELETE and SELECT. 3) Advanced operations: JOIN, subquery and transaction processing. 4) Debugging skills: Check syntax, data type and permissions. 5) Optimization suggestions: Use indexes, avoid SELECT* and use transactions.

How to open phpmyadmin How to open phpmyadmin Apr 10, 2025 pm 10:51 PM

You can open phpMyAdmin through the following steps: 1. Log in to the website control panel; 2. Find and click the phpMyAdmin icon; 3. Enter MySQL credentials; 4. Click "Login".

How to create navicat premium How to create navicat premium Apr 09, 2025 am 07:09 AM

Create a database using Navicat Premium: Connect to the database server and enter the connection parameters. Right-click on the server and select Create Database. Enter the name of the new database and the specified character set and collation. Connect to the new database and create the table in the Object Browser. Right-click on the table and select Insert Data to insert the data.

How to create a new connection to mysql in navicat How to create a new connection to mysql in navicat Apr 09, 2025 am 07:21 AM

You can create a new MySQL connection in Navicat by following the steps: Open the application and select New Connection (Ctrl N). Select "MySQL" as the connection type. Enter the hostname/IP address, port, username, and password. (Optional) Configure advanced options. Save the connection and enter the connection name.

MySQL and SQL: Essential Skills for Developers MySQL and SQL: Essential Skills for Developers Apr 10, 2025 am 09:30 AM

MySQL and SQL are essential skills for developers. 1.MySQL is an open source relational database management system, and SQL is the standard language used to manage and operate databases. 2.MySQL supports multiple storage engines through efficient data storage and retrieval functions, and SQL completes complex data operations through simple statements. 3. Examples of usage include basic queries and advanced queries, such as filtering and sorting by condition. 4. Common errors include syntax errors and performance issues, which can be optimized by checking SQL statements and using EXPLAIN commands. 5. Performance optimization techniques include using indexes, avoiding full table scanning, optimizing JOIN operations and improving code readability.

How to recover data after SQL deletes rows How to recover data after SQL deletes rows Apr 09, 2025 pm 12:21 PM

Recovering deleted rows directly from the database is usually impossible unless there is a backup or transaction rollback mechanism. Key point: Transaction rollback: Execute ROLLBACK before the transaction is committed to recover data. Backup: Regular backup of the database can be used to quickly restore data. Database snapshot: You can create a read-only copy of the database and restore the data after the data is deleted accidentally. Use DELETE statement with caution: Check the conditions carefully to avoid accidentally deleting data. Use the WHERE clause: explicitly specify the data to be deleted. Use the test environment: Test before performing a DELETE operation.

How to use single threaded redis How to use single threaded redis Apr 10, 2025 pm 07:12 PM

Redis uses a single threaded architecture to provide high performance, simplicity, and consistency. It utilizes I/O multiplexing, event loops, non-blocking I/O, and shared memory to improve concurrency, but with limitations of concurrency limitations, single point of failure, and unsuitable for write-intensive workloads.

MySQL: An Introduction to the World's Most Popular Database MySQL: An Introduction to the World's Most Popular Database Apr 12, 2025 am 12:18 AM

MySQL is an open source relational database management system, mainly used to store and retrieve data quickly and reliably. Its working principle includes client requests, query resolution, execution of queries and return results. Examples of usage include creating tables, inserting and querying data, and advanced features such as JOIN operations. Common errors involve SQL syntax, data types, and permissions, and optimization suggestions include the use of indexes, optimized queries, and partitioning of tables.

See all articles