在夜间计划任务期间,我使用select into然后添加聚集索引从头开始创建一个大表。我想在整个过程中最大限度地减少日志记录量,因为我用于日志备份传送的带宽有限。
如果有帮助,我很乐意考虑另一种方法。
我有一个主从设置 mysql 5.5,设置很好,除了从站不会二进制日志到标准 mysql-binlog 只到中继日志。我担心这可能是因为我对此事缺乏了解,但我的最终目标是设置另一个以当前奴隶为食的奴隶,然后将两者指向一个主主关系。
我的问题是,虽然我可以在从站上插入一条记录并且主复制位置(在从站上)会改变,但它不会因同一数据库上的从站活动而改变。从站不会将活动转储到两个日志中吗?如果我将辅助从站指向中继日志,那么我的选项是什么?
希望这是有道理的。
我在从站上的 my.ini 设置是这样的,还设置了唯一的服务器 ID 和主机名:
binlog-do-db=our_database
binlog-ignore-db=mysql
binlog-ignore-db=test
replicate-do-db=our_database
Run Code Online (Sandbox Code Playgroud) 我mysql Ver 15.1 Distrib 5.5.46-MariaDB在 CentOS 6.7 服务器上运行。我正在尝试记录查询,我正在通过将日志重定向到文件来做,如下所示:
#/etc/my.cnf.d/server.cnf
# this is only for the mysqld standalone daemon
[mysqld]
#
# * Fine Tuning
#
key_buffer = 16M
max_allowed_packet = 512M
thread_stack = 192K
thread_cache_size = 8
log-output = FILE
#General Query Log
general_log
general_log_file = /var/log/mysql/mysql_query.log
#Error Log
log_error = /var/log/mysql/mysql_error.log
#Slow Query Log
log-slow-queries
slow_query_log = 1
slow_query_log_file = /var/log/mysql/mysql_slow.log
long_query_time = 2
log-queries-not-using-indexes
collation-server = utf8_general_ci
init-connect='SET NAMES utf8'
character-set-server = utf8
Run Code Online (Sandbox Code Playgroud)
在重新启动 MySQL 服务之前,我确实运行了以下命令来创建每个文件并分配适当的权限: …
我在 SQL 服务器中有一个生产数据库,并希望在功能完成后进行最后的润色。在发货之前,我想确保我在 SQL Server 数据库中进行了一些清理并截断和缩小日志文件?
我可以运行夜间作业来截断日志和缩小文件吗?
这就是我到目前为止所拥有的: 我的恢复模型很简单
ALTER proc [dbo].[UTIL_ShrinkDB_TruncateLog] as
-- exec sp_helpfile BACKUP LOG PMIS WITH TRUNCATE_ONLY
DBCC 收缩文件 (PMIS, 1)
DBCC 收缩文件 (PMIS, 1)
出于安全原因,我需要在服务器端(运行 Debian 6.0 Squeeze)记录所有可能更改 MySQL DB(v. 5.1)内容的查询以及发布它的用户。我不得不排除
ngrep捕获网络流量和过滤器之类的工具UPDATE,DELETE因为这会让我处理事务并且我不知道收到的查询是否真的被执行了。我找不到任何可以让我更改 MySQL 固有日志行为的设置,因此我正在寻找其他解决方案。到目前为止,我提出了两种可能性:
背景:
您对如何执行我的日志记录有更好的想法吗?
我在 Windows Server 2008 R2 上运行 PostgreSQL 9.1。我通过修改 postgresql.conf 文件启用了将 SQL 语句记录到 stderr 日志,但现在我似乎无法在不关闭所有日志记录的情况下禁用日志记录。服务器通过 pg_ctl reload 发送 SIGHUP 信号,并且在每次尝试修复此问题后服务已重新启动。重新启动整个机器似乎也没有帮助。
我当前的 postgresql.conf 中的特定行应该已经完成了这个,但不是:
log_destination = 'stderr'
logging_collector = on
log_directory = 'pg_log
log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log'
#debug_print_parse = off
#debug_print_rewritten = off
#debug_print_plan = off
#debug_pretty_print = on
#log_checkpoints = off
#log_connections = off
#log_disconnections = off
#log_duration = off
#log_error_verbosity = default
log_hostname = on
log_line_prefix = '%t %a %u %r '
#log_lock_waits = off
log_statement = 'none'
#track_activities = on …Run Code Online (Sandbox Code Playgroud) 我发现这些文件位于Windows 2008 服务器上的wamp\bin\mysql\mysql5.5.24\data文件夹中。
它们在 40 GB 驱动器上消耗大约 22 GB。

我正在使用名为moodle 的LMS,这可能会启动它们的创建,我不确定。
我试图确定:
什么是创建这些文件?
我可以删除它们以回收驱动器空间吗?
我可能想多了,但是:
我有一个 API;我想记录对 API 的调用以进行统计/调试。理想情况下,读取速度应该很快,但不是必需的(主要由我读取)。但是,写入速度应该不错,因为我不想减慢 API 的速度。
我们将从头开始,但 API(和日志记录)将持续数年。数据越旧,它的用处就越小。在某些时候,我们可能希望完全删除旧数据(例如,删除超过三年的数据)。
目前正在运行 MySql 5.5。
构建表格的最佳方法是什么?按年对它进行分区,只是弥补未来分区的负载?
PARTITION BY RANGE( YEAR(date) ) (
PARTITION p0 VALUES LESS THAN (2016),
PARTITION p1 VALUES LESS THAN (2017),
PARTITION p2 VALUES LESS THAN (2018),
PARTITION p3 VALUES LESS THAN (2019),
PARTITION p4 VALUES LESS THAN MAXVALUE
);
Run Code Online (Sandbox Code Playgroud)
或者有没有办法创建自动滚动分区?
还是我只是按年份编制索引?
是否可以查看为数据库创建第二个日志文件的时间以及由谁创建?我发现了一个额外的日志文件,它是为我们环境中的一个数据库创建的,我正在尝试查看它的创建者和创建时间。我们使用的是 SQL Server 2012 SP2 企业版。
我试图找出谁以及何时为数据库创建了第二个 ldf 文件。
如果我调整日志文件的大小以均匀分割它们所在的整个驱动器,不留下额外的可用空间,日志备份是否仍然能够成功进行?我有多个数据库,每个数据库有一个日志文件。
不要在驱动器上留下任何可用空间,即将它全部分配给日志文件是一种好习惯吗?(在这种情况下,驱动器专用于日志文件,数据和操作系统位于它们自己的分区上。)
sql-server logs sql-server-2008-r2 disk-space transaction-log
logs ×10
mysql ×5
mysql-5.5 ×2
sql-server ×2
disk-space ×1
log ×1
mariadb ×1
partitioning ×1
postgresql ×1
replication ×1
wamp ×1
windows ×1