启用日志记录
我启用了日志
SET GLOBAL log_output = 'TABLE';
SET GLOBAL general_log = 'ON';
所有执行的查询都登录到mysql.general_log表。它是好的。
试图清除表
然后表变大了,我想从表中删除所有的记录。我执行了:
DELETE FROM general_log
但是,这导致了一个错误,即我不能锁定日志表。因此,在禁用日志记录之后,我删除了表:
SET GLOBAL general_log = 'OFF';
DROP TABLE general_log;
我希望再次启用日
我有以下情况:
MySQL server:
IP: 192.168.0.1
user: testing
pass: testing123123
MySQL client #1:
IP: 192.168.0.2
MySQL client #2:
IP: 192.168.0.3
进入MySQL服务器:
GRANT ALL PRIVILEGES ON *.* TO testing@'192.168.0.2' IDENTIFIED BY 'testing123123';
flush privileges;
客户端#1被授予,而客户端#2没有被授予。
然后在客户端#1
有没有一种方法可以禁用MySQL/MariaDB中的特定表的更新/插入日志记录?
在我们的数据库中,我们有多个表,我们希望仅禁用特定表的INSERT和UPDATE事件的日志记录。SET GLOBAL general_log = 1;和SET GLOBAL general_log = 0;为日志记录提供了相当粗略的级别控制。我们正在寻找更细粒度的日志记录控制。
我知道在MySQL 5.0中有一个错误,它防止中止的连接被记录在错误日志(http://bugs.mysql.com/bug.php?id=24761)中。
但是,中止的连接仍应记录在常规查询日志中。当我尝试为此配置日志记录时,我仍然没有在普通日志中看到中止的连接。下面是我从my.cnf配置的部分:
log = /var/log/mysql_general.log log_warnings =2
在做了这些更改之后,我重新启动mysqld,然后通过在端口3306上发送到服务器并关闭连接来进行测试。在这样做之后,我运行:
show global status like '%abort%&
我遇到了一个问题,MySQL似乎会在慢查询日志中记录比指定时间更快的查询。我已经将MySQL配置为记录以下内容:
Server version: 5.1.54-1ubuntu4-log
+---------------------+-------------------------------+
| Variable_name | Value |
+---------------------+-------------------------------+
| log_slow_queries | ON