How to enable mysql query slow log
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:
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.
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
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
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
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
Save and close the configuration file
Check whether the configuration file has been saved and close the file.
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:
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.
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.
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.
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.
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!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



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.

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".

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.

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

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.

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