小编典典

如何在 MySQL 中查看日志文件?

all

我读过 Mysql 服务器会创建一个日志文件,在其中记录所有活动 - 例如执行查询的时间和内容。

谁能告诉我它存在于我的系统中的什么位置?我该如何阅读它?

基本上,我需要用不同的输入备份数据库[两个日期之间的备份]所以我想我需要在这里使用日志文件,这就是我想要这样做的原因......

我认为必须以某种方式保护此日志,因为可能会记录用户名和密码等敏感信息[如果任何查询需要这样做];那么它可能是安全的,不容易被看到吗?

我对系统有 root 访问权限,如何查看日志?

当我尝试打开 /var/log/mysql.log 它是空的。

这是我的配置文件:

[client]
port        = 3306
socket      = /var/run/mysqld/mysqld.sock

[mysqld_safe]
socket      = /var/run/mysqld/mysqld.sock
nice        = 0

[mysqld]
log = /var/log/mysql/mysql.log 
binlog-do-db=zero



user        = mysql
socket      = /var/run/mysqld/mysqld.sock
port        = 3306
basedir     = /usr
datadir     = /var/lib/mysql
tmpdir      = /tmp
skip-external-locking

bind-address        = 127.0.0.1
#
# * Fine Tuning
#
key_buffer      = 16M
max_allowed_packet  = 16M
thread_stack        = 192K
thread_cache_size       = 8

general_log_file        = /var/log/mysql/mysql.log
general_log             = 1

阅读 189

收藏
2022-06-23

共1个答案

小编典典

这是启用它们的简单方法。在 mysql 中,我们经常需要查看 3 个日志,这些日志在任何项目开发过程中都是最需要的。

  • The Error Log. 它包含有关服务器运行时发生的错误的信息(还有服务器启动和停止)

  • The General Query Log. 这是 mysqld 正在做什么(连接、断开、查询)的一般记录

  • The Slow Query Log. 螜t 由“慢”SQL 语句组成(如其名称所示)。

默认情况下,MYSQL 中不启用任何日志文件。所有错误都将显示在系统日志 ( /var/log/syslog) 中。

要启用它们,只需按照以下步骤操作:

第1 步: 转到此文件 ( /etc/mysql/conf.d/mysqld_safe_syslog.cnf ) 并删除或注释这些行。

step2: 转到 mysql conf 文件 ( /etc/mysql/my.cnf) 并添加以下行

要启用错误日志,请添加以下内容

[mysqld_safe]
log_error=/var/log/mysql/mysql_error.log

[mysqld]
log_error=/var/log/mysql/mysql_error.log

要启用常规查询日志,请添加以下内容

general_log_file        = /var/log/mysql/mysql.log
general_log             = 1

要启用慢查询日志,请添加以下内容

log_slow_queries       = /var/log/mysql/mysql-slow.log
long_query_time = 2
log-queries-not-using-indexes

step3: 保存文件并使用以下命令重新启动mysql

service mysql restart

要在运行时启用日志,请登录 mysql 客户端 ( mysql -u root -p) 并给出:

SET GLOBAL general_log = 'ON';
SET GLOBAL slow_query_log = 'ON';

最后我想在这里提到的一件事是 我从博客上读到的 。谢谢。这个对我有用。

点击这里访问博客

2022-06-23