猿问

如何在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


烙印99
浏览 1012回答 3
3回答

MMMHUHU

这是启用它们的一种简单方法。在mysql中,我们通常需要查看3个日志,这在任何项目开发过程中都是最需要的。The Error Log。它包含有关服务器运行时发生的错误的信息(以及服务器启动和停止)The General Query Log。这是mysqld所做的一般记录(连接,断开连接,查询)The Slow Query Log。它由“慢速” SQL语句组成(如其名称所示)。默认情况下,MYSQL中未启用任何日志文件。所有错误将显示在系统日志中。(/ var / log / syslog)要启用它们,请按照以下步骤操作步骤1:转到此文件(/etc/mysql/conf.d/mysqld_safe_syslog.cnf)并删除或注释这些行。步骤2:转到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.loggeneral_log             = 1要启用慢查询日志,请添加以下内容log_slow_queries       = /var/log/mysql/mysql-slow.loglong_query_time = 2log-queries-not-using-indexes第三步:保存文件并使用以下命令重启mysqlservice mysql restart要在运行时启用日志,请登录mysql客户端(mysql -u root -p)并输入:SET GLOBAL general_log = 'ON';SET GLOBAL slow_query_log = 'ON';

小怪兽爱吃肉

MySQL日志由全局变量确定,例如:log_error 用于错误消息日志;general_log_file用于一般查询日志文件(如果由启用general_log);slow_query_log_file用于慢速查询日志文件(如果由启用slow_query_log);要查看设置及其位置,请运行以下shell命令:mysql -se "SHOW VARIABLES" | grep -e log_error -e general_log -e slow_query_log要显示错误日志的值,请在终端中运行以下命令:mysql -e "SELECT @@GLOBAL.log_error"要实时读取错误日志文件的内容,请运行:sudo tail -f $(mysql -Nse "SELECT @@GLOBAL.log_error")注意:点击Control- C完成时启用常规日志后,请尝试:sudo tail -f $(mysql -Nse "SELECT CONCAT(@@datadir, @@general_log_file)")要mysql与密码访问一起使用,请添加-p或-pMYPASS参数。为了记住它,您可以在中配置它~/.my.cnf,例如[client]user=rootpassword=root因此,它将在下次被记住。
随时随地看视频慕课网APP

相关分类

MySQL
我要回答