mysql - 如何在 MySQL 中查看日志文件
我读到 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
请您参考如下方法:
这是启用它们的简单方法。在 mysql 中,我们经常需要查看 3 个日志,这些日志在任何项目开发过程中都是最需要的。
错误日志
。它包含有关发生的错误的信息 服务器正在运行(也是服务器启动和停止)一般查询日志
。这是mysqld是什么的一般记录 做(连接、断开、查询)慢查询日志
。它由“慢”SQL 语句组成(如 以它的名称表示)。
默认情况下,MYSQL 中不启用任何日志文件。所有错误都将显示在 syslog (/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
第三步:保存文件并使用以下命令重启mysql
service mysql restart
要在运行时启用日志,请登录 mysql 客户端 (mysql -u root -p
) 并给出:
SET GLOBAL general_log = 'ON';
SET GLOBAL slow_query_log = 'ON';
最后我想在这里提到的一件事是我是从博客中读到的。谢谢。它对我有用。
点击here访问博客
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。