MySQL is a common relational database management system. It is open source and free, and is often used in company intranet system development, data management, application backend and other fields. In MySQL, log files are a very important concept, mainly used to track changes and events in the database system so that administrators can understand the operating status of the system at any time. So, this article will tell you how to view log files in MySQL.
In MySQL, there are many different types of logs, including binary log (Binary log), error log (Error log), Query log (Query log) and so on. The functions and uses of these logs are different, so when you choose to view the logs, you need to choose based on the actual situation.
Binary log (Binary log) is mainly used to record all DDL operations and DML operations performed in the system, and usually takes up a relatively large storage space. The error log (Error log) is used to record error information generated when the MySQL server is running, including warnings and errors, so that administrators can discover and solve problems in time. Query log is mainly used to record all queries and statements sent by the client, and is usually only used for debugging and troubleshooting.
In MySQL, the error log (Error log) is the most basic log type and in many cases the most important . Therefore, when troubleshooting MySQL problems, you first need to check the error log file and view the error information in it to quickly locate the problem.
Usually, the error log file of the MySQL server is stored in the /var/log/mysql/error.log path by default. You can view the file in the following way:
sudo tail -100 /var/log/mysql/error.log
The above command means viewing Error log information for the last 100 lines, you can change it as needed. If you want to view the entire error log file, you can use the following command:
sudo less /var/log/mysql/error.log
At this point you can use the arrow keys to scroll and view, and press the Q key to exit.
In addition, if you want to output the log to the console instead of a file, you can add the following configuration to the MySQL configuration file /etc/mysql/mysql.conf.d/mysqld.cnf:
log_error=/var/log/mysql/error.log
This will output the log to the specified log file.
The query log (Query log) can record the queries and statements sent by each client so that administrators can check and debug MySQL operations . Normally, the query log is turned off by default. If you need to use it, you need to configure it in the MySQL configuration file.
First, you need to edit the MySQL configuration file /etc/mysql/mysql.conf.d/mysqld.cnf and find the following line of configuration:
#general_log_file = /var/log/mysql/mysql.log
Remove the comment (#) , and then change the path of the log to the file path where you want to record the query log. For example, the following can be set in your configuration file:
general_log_file=/var/log/mysql/query.log
Then, you need to enable query logs on the MySQL server and enter the following command in the MySQL command line interface:
SET GLOBAL general_log = 1;
Next , you need to restart the MySQL server for the changes to take effect. After completing the above operations, MySQL will record all queries and statements executed by the client under the specified path.
If you want to view the query log directly in the terminal, you can use the following command:
sudo tail -f /var/log/mysql/query.log
At this time, the query.log file will be tracked and output in real time, and each SQL record will be executed. will be output immediately.
Summary
Viewing MySQL logs is one of the most basic ways to monitor the running status of the MySQL server, so administrators should know how to operate it. This article introduces the types of MySQL logs and how to view error logs and query logs. I hope it can help you better understand MySQL log files and easily deal with various problems.
The above is the detailed content of How to view log files in MySQL. For more information, please follow other related articles on the PHP Chinese website!