我已经读到Mysql服务器创建了一个日志(log)文件,它在其中保存了所有活动的记录——比如何时以及执行什么查询.

有人能告诉我它在我的系统中的位置吗?我怎么读呢?

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

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

我有根权限访问系统,如何查看日志(log)?

当我试图打开/var/log/mysql时.它是空的.

这是我的配置文件:

[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个日志(log),它们是任何项目开发过程中最需要的.

  • The Error Log.它包含有关在运行时发生的错误的信息

  • The General Query Log.这是mysqld的一般记录

  • The Slow Query Log.t由"慢"SQL语句组成(如

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

要启用它们,只需执行以下步骤:

step1:转到该文件(/etc/mysql/conf.d/mysqld_safe_syslog.cnf),删除或注释这些行.

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

To enable error log add following

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

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

To enable general query log add following

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

To enable Slow Query Log add following

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

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

service mysql restart

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

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

最后,我想在这里提到的一件事是I read this from a blog.谢谢这对我有用.

点击here访问博客

Mysql相关问答推荐

对象NotExecutabletry 在远程SQL服务器上执行SQL时出错,并使用SQLAchemy.Create_engine

如何有效地计算共同的朋友/追随者?

MySQL嵌套的内连接使查询变得很慢-解决方案?

不分组寻呼

MySQL 搜索列字段字符串

布尔值之间的 SQL less/greater 比较会产生意外结果

SQL 请求:REPLACE 和通配符 %.如何做正确的事?

MySQL - 密码哈希没有预期的格式

如何通过SQL来计算到达特定值的行的数量

为什么 `count` 函数有效但 `sum` 无效?

try 在 .map 中使用 Favorite 选项卡进行react .我无法更改 mysql 表上的布尔类型

如何将结果列中的不同值按其他列sql中的值带入单行

Mysql Pivot 查询/建议

无法通过迁移在现有表中插入行 - Rails 6

MySQL在定义表的位置后抛出错误

MYSQL LOAD DATA INFILE 语句适用于工作台,但不适用于 python

最好的 MySQL 性能调优工具?

如何删除没有临时表的 MySQL 表中的所有重复记录

mysql中float(2,2)和float()的区别

如何在 MySQL 中删除此索引?