Questions tagged «logs»

数据库写操作的顺序日志,可促进健壮的原子写操作。

5
如何安全地更改MySQL innodb变量'innodb_log_file_size'?
因此,我对调优InnoDB相当陌生。我正在将表(如有必要)从MyIsam缓慢更改为InnoDB。我在innodb中有大约100MB,因此我将innodb_buffer_pool_size变量增加到128MB: mysql> show variables like 'innodb_buffer%'; +-------------------------+-----------+ | Variable_name | Value | +-------------------------+-----------+ | innodb_buffer_pool_size | 134217728 | +-------------------------+-----------+ 1 row in set (0.00 sec) 当我去更改innodb_log_file_size值时(例如,mysql的innodb配置页上的 my.cnf 注释将日志文件大小更改为缓冲区大小的25%。因此,现在,my.cnf如下所示: # innodb innodb_buffer_pool_size = 128M innodb_log_file_size = 32M 重新启动服务器时,出现以下错误: 110216 9:48:41 InnoDB:正在初始化缓冲池,大小= 128.0M 110216 9:48:41 InnoDB:已完成对缓冲池的初始化 InnoDB:错误:日志文件./ib_logfile0的大小不同0 5242880字节 InnoDB:与指定的大小不同.cnf文件0 33554432字节! 110216 9:48:41 …
105 mysql  innodb  myisam  logs 


6
使用log_bin变量禁用MySQL二进制日志记录
一些debian软件包使用APT安装的默认MySQL配置文件/etc/mysql/my.cnf通常设置log_bin变量,因此启用了binlog: log_bin = /var/log/mysql/mysql-bin.log 当我想在这种安装上禁用二进制日志记录时,请当然在my.cnf工程中注释掉该行,但是我想知道是否有一种方法可以通过以debian风格将log_bin显式设置为OFF来禁用二进制日志记录,我的意思是包含的文件,例如/etc/mysql/conf.d/myCustomFile.cnf,因此默认的my.cnf不会更改,并且可以根据需要通过apt轻松更新。 我尝试了“ log_bin = 0”,“ log_bin = OFF”或“ log_bin =“,但是均无效...
35 mysql  logs  binlog  debian 

3
如何在Sql Server中存储Web服务器日志的'n'天?
为了更快地进行报告和性能分析,我们希望将Web服务器日志插入Sql Server。这将使我们能够实时查看流量模式,问题和速度下降。 我们有一个守护程序,用于侦听来自负载均衡器的请求/响应事件,并将批量插入数据库。 但是,我们每天可获得大约1 GB的日志,而我们只需要保留大约一周的时间(至少以这种原始形式)。 存储此数据的最佳方法是什么,删除旧条目的最佳方法是什么? 我们已经讨论过将每天的数据存储在自己的表中,例如,Log_2011_04_07将具有当天的所有条目,然后删除最旧的表。可以创建一个视图来涵盖所有的日间表格,以方便查询。可行吗?

3
MySQL InnoDB page_cleaner设置可能不是最佳的
在mysqld.log中看到此注释: [Note] InnoDB: page_cleaner: 1000ms intended loop took 15888ms. The settings might not be optimal. (flushed=200 and evicted=0, during the time.) 似乎在这里提到了这样的事情: MySQL实例停滞“正在执行SYNC索引” 我的问题是:如果在日志中看到此注释,应该采取什么措施(如果有)? MySQL和OS版本: mysql-community-server- 5.7.9 -1.el7.x86_64 centos-release-7-1.1503.el7.centos.2.8.x86_64 运行显示变量,例如“ innodb%”;如建议显示: innodb_page_cleaners | 1


1
log_min_duration_statement设置被忽略
我Postgresql 9.1在Ubuntu上运行。确切的Postgresql版本9.1+129ubuntu1如我的软件包管理器所示。 我有2个正在积极使用的数据库,它们是从远程服务器使用的。 我希望记录执行时间较长的查询。所以我在/etc/postgresql/9.1/main/postgresql.conf文件中设置以下参数 log_min_duration_statement = 10000 log_statement = 'mod' 因此Postgresql将记录超过10秒的查询。 但是当我reload使用postgres配置时,Postgresql开始记录每个适合log_statement值的查询。我将持续时间设置为100秒以确保 log_min_duration_statement = 100000 但是Postgresql会记录所有适合log_statement值的查询,无论log_min_duration_statement值如何。 设置log_statement为none似乎停止记录。 我有什么想念的配置吗?

3
如何最好地维护SQL日志文件大小
我有点像是新的DBA,并且正在管理一个活动量很大的SQL Server 2012实例。我正在完全恢复模式下运行,因为我们需要时间点恢复。 现在,我每天凌晨5点对数据库和日志进行完整备份。一些日志文件已膨胀到300GB,即使备份后它们也不会减小大小。我可以通过运行类似于以下内容来减小它们的尺寸: BACKUP LOG db1 TO DISK = '\\server\share\db1_log1.trn'; DBCC ShrinkFile([db1_log], 0); BACKUP LOG db1 TO DISK = '\\server\share\db1_log2.trn'; DBCC ShrinkFile([db1_log], 0); BACKUP LOG db1 TO DISK = '\\server\share\db1_log3.trn'; DBCC ShrinkFile([db1_log], 0); 当我检查备份文件的LSN时,会看到类似以下内容的内容: RESTORE headeronly FROM DISK = N'\\server\share\db1_log1.trn' FirstLSN: 15781000014686200001 SecondLSN: 15802000000665000001 RESTORE headeronly FROM DISK = …

3
如何将MySQL日志输出到syslog?
我想使用syslog在Ubuntu(10.04 LTS)上记录MySQL(5.1.41)。我发现了将错误日志输出到syslog的信息。 [mysqld_safe] syslog 但是我想使用syslog记录常规日志和慢查询日志。请告诉我如何写配置文件? 我在参考手册中找不到该怎么做。 http://dev.mysql.com/doc/refman/5.1/en/log-destinations.html
13 mysql  logs 

3
日志表应该获取id字段还是主键?
我有一个日志表,捕获某些文件导出到另一个系统时的日期时间戳。 目前,exportedLog表具有三个字段: id (primary key) messageId (int) exportedDateTime (datetime) 对此进行回顾,我发现该id字段没有任何作用,因为没有该表的联接。该表上唯一起作用的是插入批处理作业,该批处理作业处理消息并将其插入此日志表。 我应该删除该id字段吗? 我是否应该在任何一个主键messageId或exportedDateTime或两者兼而有之?


1
如何查看完整的阻止postgres查询?
我正在使用此页面上的语句来查看Postgres中的阻塞查询 SELECT bl.pid AS blocked_pid, a.usename AS blocked_user, ka.query AS blocking_statement, now() - ka.query_start AS blocking_duration, kl.pid AS blocking_pid, ka.usename AS blocking_user, a.query AS blocked_statement, now() - a.query_start AS blocked_duration FROM pg_catalog.pg_locks bl JOIN pg_catalog.pg_stat_activity a ON a.pid = bl.pid JOIN pg_catalog.pg_locks kl ON kl.transactionid = bl.transactionid AND kl.pid != …

2
MySQL二进制日志-跳过表
有没有办法跳过二进制日志中的特定表? 我已将二进制日志配置为夜间备份之间的增量备份策略。但是,我们有一个巨大的参考表,我们将从批处理过程中每晚进行更新(70GB表)。该表仅被读取,并且每晚使用进行更新mysqlimport。 在此仅供参考的表的更新过程中,二进制日志会导致相当严重的延迟(尤其是当我执行完整的70GB更新时)。基本上必须做两次70GB。y 参考表当前正在使用MyISAM(我选择了InnoDB尝试加载它,因此尝试使用MyISAM)。
9 mysql  logs  binlog 

3
需要帮助解决Sql Server 2005死锁方案
我遇到了一个死锁情况,死锁中唯一的参与者似乎是一个表和一个从该表中删除的存储过程。我根据以下几个死锁时对sql错误日志的分析得出了该结论,并使用下面的MSDN文章作为指导来解密错误日志中的跟踪。 表DEXTable和存储过程ClearDEXTableRows在下面定义。还有另一个存储过程InsertDEXTableRow将行插入DEXTable中,但是基于sql错误日志中的条目,该proc似乎不涉及死锁。 DEXTable具有〜830万行,并且趋于稳定增长。受访者表也很大,并且趋于稳定增长。 可从高流量网站访问该页面,该页面上的页面经常快速连续调用ClearDEXTableRows和InsertDEXTableRow。 在过去的10天里,僵局每天发生0到9次。 我已经为1222启用了SQL跟踪(使用DBCC TRACEON 1222),并且最近才启用了标志1204。在检测和结束死锁上有这些标志的输出的详细说明 我的问题是: 仅此一个存储过程ClearDEXTableRows是造成死锁的原因吗? 如果是这样,谁能提供一个很好的解释,说明如何发生并提出解决方法? 我的怀疑是DELETE语句导致DEXTable PK上的争用,而DEXTable则需要经常重建。 如果不是,我应该启用什么其他跟踪来更深入地了解死锁的原因?(我想在这里学习) -- Table definition CREATE TABLE [dbo].[DEXTable]( [ExportID] [int] NOT NULL, [RespondentID] [int] NOT NULL, [Exported] [datetime] NOT NULL, CONSTRAINT [PK_DEXTable] PRIMARY KEY CLUSTERED ( [ExportID] ASC, [RespondentID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY …

3
如何截断SQL Server 2008数据库中的事务日志?
如何截断SQL Server 2008数据库中的事务日志? 可能的最佳方法是什么? 我从一个博客尝试了如下操作: 1)从设置数据库到简单恢复,缩小文件,然后再次设置为完全恢复,实际上您正在丢失宝贵的日志数据,并且将无法还原时间点。不仅如此,您也将无法使用后续的日志文件。 2)缩小数据库文件或数据库会增加碎片。 您可以做很多事情。首先,使用以下命令开始进行正确的日志备份,而不是将其截断并经常丢失。 BACKUP LOG [TestDb] TO DISK = N'C:\Backup\TestDb.bak' GO 删除收缩文件的代码。如果您要进行适当的日志备份,则您的日志文件通常(通常,同样会排除特殊情况)不会变得很大。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.