mysql查数据库日志
时间: 2023-06-30 12:16:27 浏览: 121
MySQL有多种日志类型,可以记录数据库的运行情况和操作记录,包括错误日志、慢查询日志、二进制日志、查询日志等。下面分别介绍如何查看这些日志。
1. 错误日志:记录了MySQL服务器启动、运行、关闭等过程中的错误信息。错误日志的默认文件名为hostname.err,可以在MySQL的配置文件my.cnf中设置该文件的路径。可以使用以下命令查看错误日志:
```
mysql> SHOW GLOBAL VARIABLES LIKE 'log_error';
+---------------+--------------------------+
| Variable_name | Value |
+---------------+--------------------------+
| log_error | /var/log/mysql/error.log |
+---------------+--------------------------+
1 row in set (0.00 sec)
mysql> SHOW GLOBAL VARIABLES LIKE 'log_error_verbosity';
+----------------------+-------+
| Variable_name | Value |
+----------------------+-------+
| log_error_verbosity | 2 |
+----------------------+-------+
1 row in set (0.00 sec)
mysql> SELECT @@GLOBAL.log_error;
+--------------------------+
| @@GLOBAL.log_error |
+--------------------------+
| /var/log/mysql/error.log |
+--------------------------+
1 row in set (0.00 sec)
```
2. 慢查询日志:记录了执行时间超过阈值的SQL语句。可以在MySQL的配置文件my.cnf中设置慢查询日志的开启和阈值参数,例如:
```
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 2
```
其中,slow_query_log表示开启慢查询日志,slow_query_log_file表示慢查询日志的文件名,long_query_time表示执行时间超过多少秒的SQL语句会被记录在慢查询日志中。可以使用以下命令查看慢查询日志:
```
mysql> SHOW GLOBAL VARIABLES LIKE 'slow_query_log';
+----------------+-------+
| Variable_name | Value |
+----------------+-------+
| slow_query_log | ON |
+----------------+-------+
1 row in set (0.00 sec)
mysql> SHOW GLOBAL VARIABLES LIKE 'slow_query_log_file';
+----------------------+---------------------------+
| Variable_name | Value |
+----------------------+---------------------------+
| slow_query_log_file | /var/log/mysql/slow.log |
+----------------------+---------------------------+
1 row in set (0.00 sec)
```
3. 二进制日志:记录了数据库的所有更改操作,包括增删改查等,可以用于数据备份和恢复。可以在MySQL的配置文件my.cnf中设置二进制日志的开启和文件名参数,例如:
```
log_bin = /var/log/mysql/mysql-bin.log
binlog_format = ROW
```
其中,log_bin表示开启二进制日志,并设置二进制日志文件的路径和文件名,binlog_format表示记录二进制日志的格式。可以使用以下命令查看二进制日志:
```
mysql> SHOW MASTER LOGS;
+------------------+-----------+
| Log_name | File_size |
+------------------+-----------+
| mysql-bin.000001 | 107374182 |
| mysql-bin.000002 | 107374182 |
| mysql-bin.000003 | 29360150 |
+------------------+-----------+
3 rows in set (0.00 sec)
```
4. 查询日志:记录了所有执行的SQL语句,可以用于性能分析和调试。可以在MySQL的配置文件my.cnf中设置查询日志的开启和文件名参数,例如:
```
general_log = 1
general_log_file = /var/log/mysql/query.log
```
其中,general_log表示开启查询日志,general_log_file表示查询日志的文件名。可以使用以下命令查看查询日志:
```
mysql> SHOW GLOBAL VARIABLES LIKE 'general_log';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| general_log | ON |
+---------------+-------+
1 row in set (0.00 sec)
mysql> SHOW GLOBAL VARIABLES LIKE 'general_log_file';
+------------------+---------------------------+
| Variable_name | Value |
+------------------+---------------------------+
| general_log_file | /var/log/mysql/query.log |
+------------------+---------------------------+
1 row in set (0.00 sec)
```
阅读全文