Questions tagged «replication»

复制是共享任何级别信息的过程,以确保冗余硬件/软件资源之间的一致性,从而提高可靠性,容错性和可访问性

1
是什么导致TRUNCATE TABLE花费很长时间?
我正在运行具有主/从复制(1个主,2个从)的MySQL5.5。 我有一个每周运行一次并截断特定表的过程。该表不是很大,只有几千条记录。 出于某种原因,该TRUNCATE TABLE命令的执行时间非常长(在主机和从机上)。执行大约需要40万毫秒!当它在从属服务器上运行时,它将导致它滞后于主服务器。在后TRUNCATE TABLE结束,一切恢复正常。 我知道一个从站在执行时没有收到任何读取,TRUNCATE TABLE因为它是一个专用的从站,并且从该从站读取的进程已关闭。同样,在该从站上,执行所花费的时间相同。 表格结构如下:http : //pastebin.com/qEQB4juR 关于如何加快TRUNCATE TABLE的任何想法?

4
母版上的吨数吨中继日志
到目前为止,我有一个拥有298个中继bin文件的主文件,可以追溯到298天。 .cnf中没有中继日志定义 和 mysql> show variables like '%relay%'; +---------------------------------+----------------+ | Variable_name | Value | +---------------------------------+----------------+ | innodb_overwrite_relay_log_info | OFF | | max_relay_log_size | 0 | | relay_log | | | relay_log_index | | | relay_log_info_file | relay-log.info | | relay_log_purge | ON | | relay_log_space_limit | 0 | +---------------------------------+----------------+ 重置从站将其清除,但随后它们才开始重新生成。 …

2
如何阻止MySQL从站将更改复制到“ mysql”数据库?
我将我的从属设备设置为不复制“ mysql”数据库,如本说明中所述 SHOW SLAVE STATUS\G; Slave_IO_State: Waiting for master to send event Master_Host: 127.0.0.1 Master_User: replication Master_Port: 3306 Connect_Retry: 60 Master_Log_File: master-bin.000001 Read_Master_Log_Pos: 1660 Relay_Log_File: mysql-relay-bin.000004 Relay_Log_Pos: 478 Relay_Master_Log_File: master-bin.000001 Slave_IO_Running: Yes Slave_SQL_Running: Yes Replicate_Do_DB: **Replicate_Ignore_DB: mysql** 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: 1660 Relay_Log_Space: 633 …

1
MySQL复制:落后于Master的秒数超高
我已经为生产数据库设置了一个从属db服务器,但是当我检查show slave的状态时,我发现它比master落后几秒钟。 这是输出: Slave_IO_State: Waiting for master to send event Master_Host: 1.2.3.4 Master_User: replicator Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000173 Read_Master_Log_Pos: 15909435 Relay_Log_File: mysqld-relay-bin.000079 Relay_Log_Pos: 91173356 Relay_Master_Log_File: mysql-bin.000093 Slave_IO_Running: Yes Slave_SQL_Running: Yes Replicate_Do_DB: 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: 91173210 Relay_Log_Space: 8179978166 Until_Condition: None Until_Log_File: …

2
SQL Server复制替代软件
我们使用SQL Server复制已有很长时间了,有时会遇到一些问题,有时我们需要重新初始化订阅才能解决某些问题,而其他时候则需要销毁整个复制结构并重新构建它! 我们主要担心的是,一旦遇到复制问题,几乎所有时候,简单的解决方案就是重新初始化复制,这对于我们的业务需求是不可接受的。 现在,我们正在准备发布一个新的大型项目,并且正在尝试寻找进行SQL Server复制的第三方软件。 我们的设置包括分布在分支机构(不同国家/地区)中的服务器+移动客户端(具有本地SQL Server数据库的便携式计算机),我们需要在所有这些服务器之间复制数据,并提供文章过滤功能。 有人可以为我们建议一些替代解决方案吗?

4
mysql复制成功,但是slave没有复制
我已经创建了mysql主从配置,并且一切正常。“显示主状态”;在奴隶上不显示任何错误。这是输出 Slave_IO_State: Waiting for master to send event Master_Host: 109.123.100.58 Master_User: replica Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000001 Read_Master_Log_Pos: 106 Relay_Log_File: relay-bin.000001 Relay_Log_Pos: 4 Relay_Master_Log_File: mysql-bin.000001 Slave_IO_Running: Yes Slave_SQL_Running: Yes Replicate_Do_DB: 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: 106 Relay_Log_Space: 106 Until_Condition: None Until_Log_File: Until_Log_Pos: 0 …

1
Postgres 9.2的流复制如何处理模式更改和初始表设置?
我想在物理服务器上建立备份数据库,该服务器位于我的主物理数据库服务器下。我正在使用Postgres 9.2,并且想使用同步流复制(出于原子性),但是我完全不知道类似的事情,A)初始表设置是从服务器1转移到服务器2的(例如,我运行syncdb从我的Django应用程序中,该应用程序在服务器1上创建了一系列表,以及B)如何将模式的持续变化从服务器1携带到服务器2(例如,我运行Django South迁移,该迁移发送ALTER TABLE查询以及添加/删除索引等)。这些事情是通过流复制透明地处理的,还是我需要做一些事情来影响两台服务器之间的更改?

1
服务器崩溃后如何还原复制
我们在一个SQL Server 2005实例上有两个数据库,它们之间具有事务复制(作为文章有3个表)。该服务器既充当发布者又充当分发者。 然后服务器上的RAID发生故障。但是.mdf,在崩溃之前,我们设法分离并复制了几乎所有文件。 还原系统后,我们重新安装了SQL Server,还原了系统数据库(主数据库,模型数据库,msdb数据库)并将.mdf文件放置在相同的路径中。就这样开始了。 复制出现问题。尽管“ 本地订阅”文件夹包含有问题的订阅,但“ 本地出版物”文件夹为空。当我尝试添加新出版物时,我得到了: 新发布向导在检索发布名称时遇到一个或多个错误。 执行Transact-SQL语句或批处理时发生异常。(Microsoft.SqlServer.ConnectionInfo) 无效的对象名称“ dbo.syspublications”。(Microsoft SQL Server,错误:208) 我决定尝试删除左侧订阅(最终我设法做到了)并禁用服务器上的发布和分发,这给了我: SQL Server无法禁用“ someserver”上的发布和分发。 无效的对象名称“ dbo.syssubscriptions”。EXECUTE之后的事务计数表明缺少COMMIT或ROLLBACK TRANSACTION语句。上一个计数= 0,当前计数=1。EXECUTE之后的事务计数指示缺少COMMIT或ROLLBACK TRANSACTION语句。上一个计数= 0,当前计数=1。EXECUTE之后的事务计数指示缺少COMMIT或ROLLBACK TRANSACTION语句。上一个计数= 0,当前计数=1。EXECUTE之后的事务计数指示缺少COMMIT或ROLLBACK TRANSACTION语句。上一个计数= 0,当前计数=1。EXECUTE之后的事务计数指示缺少COMMIT或ROLLBACK TRANSACTION语句。先前计数= 0,当前计数=1。将数据库上下文更改为'master'。(Microsoft SQL Server,错误:208) 似乎某些信息未从系统数据库备份中恢复(可能distribution数据库可能丢失了某些内容)。 我也尝试遵循无法禁用发布和分发中给出的答案。但是没有成功。我尝试syspublications同时在master和中创建distribution,但未更改。 那么,如何使复制在该服务器上工作? 试图在服务器上发布一些其他数据库,并且可以正常工作。因此,问题似乎与已发布的数据库有关。如何清除它以管理在其上创建新出版物? System Tables 问题数据库的子文件夹将丢失发布数据库时创建的复制表。 在复制监视器中,我可以看到那些旧的订阅,但在Replication文件夹中不可用 。


1
从SQL Server 2000到2008的事务复制
我在两台SQL Server 2000服务器上有旧数据库,这些数据库正尝试使用事务复制复制到SQL Server 2008 R2数据库。 2008服务器不在同一LAN中,因此我正在通过Internet复制。我创建了别名,以便每个服务器都可以按名称(为复制所必需)或多或少连接到其他服务器,如MohammedU(和其他用户)在此处所述:http : //social.msdn.microsoft.com/forums/en-US/ sqlreplication / thread / 9a8cf6b1-a449-4748-b3c2-1c13e2bfcc5b / 唯一的区别是,我使用客户端网络实用程序而不是Configuration Manager在SS2000计算机上创建别名。这似乎工作正常。 我设置了一个SS2000服务器,称为Distributor,作为这两个服务器的分发器。我已经在Distributor上成功创建了出版物,并使用推送订阅将其复制到SS 2008服务器,称为“订阅服务器”。 现在,我在第二台SS2000服务器上设置了出版物,将其称为Publisher。我以相同的方式为其创建了推送订阅。这些订阅不起作用。 在分发服务器上的复制监视器中,发布服务器上发布的分发代理具有以下错误消息: Error message: The process could not connect to Subscriber 'SUBSCRIBER' Error details: Login failed for user 'SUBSCRIBER\Guest.' (Source: SUBSCRIBER (Data source); Error number: 18456) 我还尝试在订阅服务器上创建请求订阅。该向导表示已成功创建它们,并且相应的分发代理正确显示在“分发服务器上的复制监视器”中,但是复制从未发生。代理不断显示一条消息,说明快照不可用,即使快照不可用。 有人可以帮忙吗?

2
可用性组可以代替事务复制吗?
我一直在研究SQL Server 2012的新功能,以及它如何帮助解决当前的问题。 当前,我们使用SQL Server 2008 R2,并通过事务复制将两个OLTP服务器的数据库复制到单个报告服务器。然后,我们使用这些复制的DB进行报告。 我对SQL Server 2012和可用性组是否可以替代它感兴趣-因此,我将使用新的可用性组并将这两个OLTP服务器的数据库镜像到报告服务器,而不是事务复制,在该服务器上,报告将能够执行访问只读副本。 我不确定这是否会奏效,甚至根本不会奏效。 我想摆脱复制,因为它会导致我的部署策略出现问题(使用VSDBCMD.exe)。我还想摆脱大型数据库上复制重新初始化的延迟。 有人对此有任何好的例子或经验吗?是否可以按照较低版本中的常规镜像将可读副本从多个服务器镜像到单个服务器? 最初是在这里问到的:https : //stackoverflow.com/questions/10415225/mirroring-and-availability-groups-in-sql2012对不起,我认为我还不能迁移问题。

1
PostgreSQL故障转移-我应该使用哪些工具?
这是场景: 有两台运行CentOS 6.2的计算机-machine0和machine1 两者都安装了PostgreSQL 9.1。 其中一个应处于活动状态,作为主系统,并且通过异步流复制另一台计算机,备用数据库应将更改从主系统复制到数据库。 假设机器0是主服务器,机器1是备用服务器。 如果主服务器(例如machine0)发生故障(此处的失败表示Postgresql服务器崩溃),则备用服务器应从主服务器接管并成为新的主服务器。 在machine1中,新的master处理所有的数据库操作,并且当machine0中的postgresql服务器恢复联机时,它应该成为备用服务器,从失去与machine1的连接点开始进行同步,并将所有更改复制到数据库并保持备用模式。 当machine1发生故障时,整个循环将重复。 当备用数据库发生故障并重新联机时,它应该开始从主数据库读取数据并同步数据。 我对需要使用哪些工具进行设置感到困惑,因为我了解PostgreSQL默认情况下没有故障转移。 如果有人可以将我链接到描述如何做我想做的事情的线程/页面,我将非常感激。

3
使用复制进行横向扩展
阅读了使用复制进行横向扩展后,如何将不同的查询路由到不同的服务器,例如,SELECT我想路由到从属服务器和NON-SELECT主服务器。我假设可以使用haproxy作为负载均衡器,但是我发现在haproxy级别的查询之间无法区分开吗?另外,假设某人已直接到达主服务器,主服务器如何识别这是SELECT查询并显示发送给从属服务器或负载平衡器。

1
MySQL具有延迟的高可用性,故障转移和复制
我们正在实施在MySQL上运行的新CMS(Drupal 6.x)。我们有两个数据中心-主数据中心和辅助数据中心,它们之间的延迟已知。我们不确定我们将运行哪个MySQL版本...社区还是企业,但这是一个待定。看来我们将运行InnoDB引擎,操作系统将为RedHat EL 5.5。主服务器将处于活动状态,而辅助服务器将处于被动或热备用状态。 我想在两个数据中心的MySQL中实现复制,高可用性和自动故障转移。 故障转移到辅助服务器后,当我们故障回复到主服务器时,我们希望将数据从辅助数据库快速而完整地同步到主数据库,以便我们可以继续从主服务器提供内容。 我很想知道可以使用哪些技术/工具/最佳实践来解决/解决这些问题。同样,任何陷阱或啊哈时刻也将不胜感激。我已经阅读了有关MySQL复制,群集和Tungsten和Dolphinics等某些第三方工具的资料,但是我不确定什么是最佳方法。 感谢您的时间! KM
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.