我正在执行并行测试。我们已将旧的批处理作业升级到新框架,我们需要针对现有的批处理作业进行测试。
在现有设置中,我有基于用户输入创建或更新记录的 Web 应用程序,这些批处理作业将处理记录。
计划是拥有 2 个数据库,主数据库和辅助数据库,现有的批处理作业连接到主数据库服务器,新的批处理作业连接到辅助数据库服务器。
Web 应用程序会将数据填充到主数据库和辅助数据库。
我想对数据库中的所有表执行复制。但是,我只想复制 Web 应用程序使用的特定数据库帐户所做的任何 DML 更改。
那可能吗?
以下 MySQL 警告的含义是什么:
Statement may not be safe to log in statement format.
Run Code Online (Sandbox Code Playgroud)
我的mysqld.err档案中每天都有数以万计的此类陈述,我不知道应该从哪里开始调查。
我想运行一个半同步复制设置,为了简单起见,当从站提升为主站时,我不想安装和卸载插件。所以我想知道如果我将体验任何问题都安装并启用主机和从机插件(见这里)
看起来在安装第二个插件后,两个变量rpl_semi_sync_master_enabled和rpl_semi_sync_slave_enabled都被重置为关闭(非默认值)。当我将这些行包含在my.cnf:
loose-rpl_semi_sync_master_enabled = 1
loose-rpl_semi_sync_slave_enabled = 1
Run Code Online (Sandbox Code Playgroud)
...并重新启动 MySQL,两个插件都已加载并启用。
这会给我带来任何问题吗?
我正在考虑在带有 Service Pack 1 的 SQL Server 2008 中应用 Service Pack 3;但是,我无法找到此过程中是否存在任何缺陷,特别是在复制服务和报告服务方面。
有人做过这种更新吗?是顺利还是产生了很多问题?
我配置了WAMP在不同机器上运行的两台服务器以进行主-主复制。我正在linksys为网络使用路由器。我创建了一个无线网络,但其中一个服务器盒没有,WIFI所以我使用电缆将其连接到路由器。配置好之后,好像一切正常,但是服务器之间好像没有作为slave相互连接。下面是服务器状态。
Variable Value
Slave_IO_State: Connecting to master
Master_Host: 192.168.1.100
Master_User: master
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000001
Read_Master_Log_Pos: 95849
Relay_Log_File: Chibuzo-PC-relay-bin.000001
Relay_Log_Pos : 4
Relay_Master_Log_File: mysql-bin.000001
Slave_IO_Running: Connecting
Slave_SQL_Running: Yes
Replicate_Do_DB: ticket
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter 0
Exec_Master_Log_Pos: 95849
Relay_Log_Space: 107
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master:
Run Code Online (Sandbox Code Playgroud)
在 IP 地址为 192.168.1.102 的服务器 1 上运行以下查询,得到以下结果
SELECT user, host FROM mysql.user WHERE Repl_slave_priv = …Run Code Online (Sandbox Code Playgroud) 我正在实施 ETL 过程以将数据加载到仓库中。
这个过程的一部分是将数据从我们的生产服务器(服务器 P)拉到一个临时服务器,在那里实际加载到仓库(和仓库本身)的位置(服务器 S)。我们为此使用快照复制。
出于 QC 和其他一些目的,我需要一种方法来确定在服务器 P 上拍摄快照的日期,从服务器 S。我认为此查询的链接服务器不是一种选择。
我希望在某处的元数据表中有一条记录来反映这一点,或者我可以运行一些其他命令来查询快照历史记录。
我在集群中使用流式复制和 PITR(WAL 文件),目前我有不同版本postgresql.conf的主服务器和备用服务器。
文件中唯一的区别是归档命令,它指向不同的目录。
例如,在主人我有:
archive_command = 'cp %p /dbckp/server1master/%f'
Run Code Online (Sandbox Code Playgroud)
在待机状态下:
archive_command = 'cp %p /dbckp/server2master/%f'
Run Code Online (Sandbox Code Playgroud)
我认为,如果备用系统在“备用模式”下没有生成任何档案,我可以使用相同的目录并在单个postgresql.conf.
我试图让(拉)事务复制再次为订阅者工作。
目前,在复制监视器中,我在发布者到分发者选项卡和分发者到订阅者选项卡中看到消息。
在订阅者历史记录的分发者中,我看到“发布 'XX' 的并发快照不可用”。在发布者到分发者的历史记录中,我看到日志读取器代理正在初始化,然后等待服务器的响应(每 5 分钟再次记录一次消息)。
最终执行sp_replcmds失败。
我认为可能有许多未复制的事务导致日志读取器代理挂起。遵循LogReader 超时故障排除
我跑了dbcc opentran然后试图跑
select [Transaction ID], count([Transaction ID]) as 'Count log entries'
from::fn_dblog('42006:31381:2',null)
where [Description] = 'REPLICATE'
group by [Transaction ID]
Run Code Online (Sandbox Code Playgroud)
此查询在超过 40 分钟后未返回任何结果。此外,当我刚跑步SELECT count(*) FROM ::fn_dblog(NULL, NULL)时,很长一段时间(20 分钟)后我都没有得到结果。
我开始认为我的事务日志的大小有问题,或者某种损坏,或者什么。
任何帮助将不胜感激。
replication sql-server-2008 transaction-log transactional-replication
我有 SQL Server 2000 作为发布者和 SQL Server 20008 R2 作为订阅者。
我想将数据从 SQL Server 2000 复制到另一台机器上的 SQL Server 2008 R2。
某些表上未定义主键字段,因此无法选择事务复制。
我认为合并复制不是一种选择,因为订阅服务器 SQL Server 版本高于发布服务器。
我能做什么?
replication sql-server-2008 sql-server sql-server-2000 merge-replication
我刚刚阅读了这篇关于 MySQL 上的中继日志空间限制的博客文章。我确信“无限”默认设置确实不是很好。但是我如何为它选择一个好的价值呢?
如果这很重要,我们正在使用主-主循环复制。
replication ×10
mysql ×4
sql-server ×2
log ×1
my.cnf ×1
oracle ×1
postgresql ×1
service-pack ×1
snapshot ×1
ssrs ×1
wamp ×1
warning ×1