Questions tagged «replication»

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


1
更新expire_logs_days参数并重新启动sql之后多久会删除旧的binlog?
MySQL 5.1.x | InnoDB | 视窗 我的mysql数据目录开始充满bin日志。 我目前在Windows mysql服务器中配置了以下设置: [mysqld] log-bin server-id=1 binlog-do-db=foodb1 binlog-do-db=foodb2 expire_logs_days=25 我打算将expire_logs_days设置更改为expire_logs_days=10并跳出mysql服务。进行此更改后,我可以期望多长时间后清除旧的bin日志。 这是否仅作为每晚计划任务的一部分进行?还是应该立即进行?

3
将RDS-MySQL复制到非Amazon主机吗?
我有一个相当大的MySQL(5.1)数据库在Amazon中作为RDS实例运行。我正在努力将其从Amazon迁移出去。为了顺利地做到这一点,我想将新硬件设置为RDS实例的只读副本。 我知道RDS支持RDS内的复制。有什么方法可以配置它以复制到不在RDS中的主机?

3
在没有WAL归档的情况下,PostgreSQL 9.1流复制是否会滞后?
内容: 假设在Postgres 9.1群集上使用流复制/热备用时,备用节点将关闭。它停了一天,在此期间主服务器上发生了许多DML。备用数据库的recovery.conf不包含“ restore_command”条目(用于从WAL日记文件还原),但是包含“ primary_conninfo”字符串(用于流复制)。 题: 如果我在主服务器上进行了一天的更改后再次启动了备用服务器。是否仅使用流复制来“赶上”(最终进入与主服务器类似的状态)?还是我必须启用WAL文件归档并让其应用在中断期间归档的文件以确保币种? 我在此处检查了WAL归档/流复制文档,它说您不必同时启用WAL归档和流复制,但是尚不清楚在不启用WAL文件归档的情况下是否会发生追赶。 谢谢!

3
以最少的停机时间将heroku数据库迁移到Amazon RDS
我有一个heroku postgres数据库,并想将其迁移到Amazon RDS以节省成本。有什么办法可以减少停机时间?通常,这涉及实时复制数据库,然后将复制的DB升级为主数据库。 我知道我可以使用跟随者数据库在heroku中迁移数据库,也可以使用只读副本数据库在Amazon RDS中迁移数据库。是否有类似的方法来创建位于我自己的Amazon RDS中的heroku DB的数据库复制?

2
如何备份大型MongoDB数据库
在MongoDB中备份大数据集的推荐方法是什么?假设我们的数据大小约为10TB-您将如何备份呢? 我们正在考虑一个隐藏的,可能延迟的副本集节点。延迟可以保护我们免受整个数据库意外丢失的影响。这是一个可行的解决方案,您建议调查其他哪些选择? 谢谢!

2
什么max_allowed_pa​​cket足够大,为什么我需要更改它?
我在主从设置中安装了MySQL(5.5),并创建了另一个从服务器。 我停止了原来的从属服务器,转储了数据,复制并重新导入了它,然后运行良好。我注意到了原始从站的master_log pos,并使用这些命令将其设置在新的从站上 CHANGE MASTER TO MASTER_HOST='<ipaddress>', MASTER_USER='<username>', MASTER_PASSWORD='<password>', MASTER_PORT=3306, MASTER_LOG_FILE='mysql-bin.000851', MASTER_LOG_POS=15824150, MASTER_CONNECT_RETRY=10; 当我开始新的奴隶时,我得到了 Last_IO_Error:从二进制日志读取数据时,主机出现致命错误1236:'日志事件条目超过了max_allowed_pa​​cket; 增加master上的max_allowed_pa​​cket 但是,当我启动原始从属服务器时,它运行起来很好,并且现在已同步。 所以问题是: 当前值是16M,我怎么知道要走多大?(我宁愿避免生产服务器的反复试验)。 当原来的从属服务器很好时,为什么我需要增加主控板上的值,问题可能出在新的从属服务器上吗? 更新 正如Rolando在主机,旧从机和新从机上建议的那样,我将max_allowed_pa​​cket增加到1073741824,然后重新启动它们(SET GLOBAL max_allowed_packet = 1073741824;由于某些原因,似乎没有用) 现在最后一个IO错误与以前相同,但是现在我看到了 Last_SQL_Error:中继日志读取失败:无法解析中继日志事件条目。可能的原因是:主站的二进制日志已损坏(您可以通过在二进制日志上运行“ mysqlbinlog”来检查),从站的中继日志已损坏(可以通过在中继日志上运行“ mysqlbinlog”来检查)网络问题,或主从MySQL的错误。如果要检查主站的二进制日志或从站的中继日志,则可以通过在此从站上发布“ SHOW SLAVE STATUS”来知道其名称。 如果我在主文件上执行一个mysqlbinlog,它会用命令滚动很久很久很久-该文件为722M-如果我为从属中继日志执行该操作 错误:Log_event :: read_log_event()中的错误:“健全性检查失败”,data_len:38916267,event_type:69 错误:无法读取偏移量为253的条目:日志格式错误或读取错误。 我检查了变量,但所做的更改有效 mysql>显示变量LIKE'%max_allowed_pa​​cket%'; 在新的从属设备上显示max_allowed_packetAND slave_max_allowed_packet,而在主设备上只有max_allowed_packet 所以我对母版进行了版本检查: mysql> show variables LIKE '%version%'; +-------------------------+--------------------------------------+ | …

1
PostgreSQL故障转移和复制
我正在评估PostgreSQL 9.1,并且有几个与故障转移和复制详细信息有关的问题。 我有几个测试方案。第一个具有主服务器和少量从属服务器的服务器。万一Master崩溃了,我希望其中一个Slave成为Master。主服务器恢复到正常状态后,它应与群集中的其他服务器同步(应用关闭状态下所做的所有更改),并退回主服务器角色或成为从服务器。 我在PostgreSQL和当前场景中看到的问题如下。 1)我没有看到用于检测主服务器故障的内置工具。我读到pgpool可以处理它并创建触发文件,我还读到人们为此使用Linux心跳或类似工具。好的,我可以检测故障转移并在群集中分配一个新的主服务器。其他的奴隶们会明白有一个新的主人,他们现在应该备份吗? 2)我不了解故障回复程序。主从主机配置不同。那么崩溃的Master故障回复后,我将拥有两个Master吗?服务器将如何恢复同步?我只看到手动解决方案,例如“将数据文件夹传输到服务器并重新启动它”。那么什么是解决方案或最佳实践,或者至少是关键原则? 3)我应该如何处理客户端的服务器中断?创建连接时,我明确指定服务器IP。我是否应该开发某种会知道我的主从结构的ConnectionManager,仅将请求发送到主服务器,并且在连接断开的情况下将切换到备用服务器等?我读到pgpool可以成为应用程序的入口点,并以正确的方式管理连接。pgpool是这里唯一的解决方案吗?它能否很好地处理故障转移和故障回复? 4)是否有解决方案(也有商业解决方案),所以我可以避免手动复制数据,重新配置PostgreSQL实例和其他应由人工完成的工作?当每个人都同步时,这样的集群配置就很清楚,谁是主服务器,一切都会自动切换而无需操作员注意? 根据这些主题和文章 在PostgreSQL上进行流式复制和故障转移 PostgreSQL 9.1中的自动故障转移 http://denishjpatel.blogspot.com/2010/11/possibility-of-graceful-switchover.html 没有单一的全自动解决方案可以解决这些问题。我对吗? 谢谢!

2
在PostgreSQL上进行流式复制和故障转移
我正在对PostgreSQL复制进行概念验证。在论坛上进行讨论后,我们决定选择流复制,因为与其他解决方案相比,它的性能很好。PostgreSQL没有为流复制提供自动故障转移。我们可以使用触发文件将从站切换为主站,但这是不可管理的。因此,我想要一个具有自动故障转移和高可用性的解决方案。 提供不同的解决方案: Repmgr Linux心跳 Pgpool-II(仅用于自动故障转移) 如果使用其他任何工具。 我的问题是应该使用哪种解决方案?


3
在具有索引列的大表上使用ALTER TABLE
我有一个带有VARCHAR(20)列的大表,我需要对其进行修改以成为VARCHAR(50)列。通常,在此特定表上执行ALTER TABLE(添加TINYINT)大约需要90-120分钟才能完成,因此,我实际上只能在周六或周日晚上这样做,以免影响数据库的用户。如果可能的话,我想在此之前进行此修改。 该列也已建立索引,我认为这会使ALTER TABLE变慢,因为它必须在修改列长后重建索引。 该Web应用程序是在MySQL复制环境中设置的(26个从属和一个主控)。我记得曾经读过某个地方的一种方法,即首先在每个从属服务器上执行ALTER TABLE(对用户的影响最小),然后在主服务器上执行此操作,但是那不是然后尝试将ALTER TABLE命令复制到从属服务器吗? 所以我的问题是:对我来说,以最小的用户干扰来修改此表的最佳方法是什么? 编辑:该表是InnoDB。

2
Mongo DB副本设置为停留在RECOVERING状态
我们已经创建了一个副本集,现在的问题是副本集的2个成员[3个成员集]从48小时开始处于恢复模式。最初,恢复节点的大小在增加,现在甚至停止了。因此,在恢复节点时,它们会在90 GB数据和60+ GB本地数据后卡住。 如何摆脱这种模式?

1
SQL Server多对一复制
我有8台单独的SQL Server 2008 R2计算机,每台托管1个数据库。每个数据库都有相同的表结构和架构,以及完全唯一的数据。 我想建立一个报表服务器(可能是2008或2012),它将来自8个源服务器的选定表中的行合并到报表服务器上那些表的单个实例中。这是单向复制(不会对报告服务器进行任何更改)。我将需要以相对较低的延迟(例如20-30秒)从源数据库复制更改。 此外,我想找到一种方法来实现这一目标,并且对源服务器的影响尽可能小。在我的环境中,那些服务器的第三方代理,触发器或架构模块很困难。 我的问题: 有哪些有希望的架构和技术可以实现这一目标? 我看过SQL Server合并复制,但是我担心延迟。这是实现此目标的合适技术吗? 是否有用于事务复制的多对一体系结构? 我应该查看报表服务器上8个数据库的1对1复制,然后进行一些自定义合并功能(两步复制)吗? 谢谢,约翰

6
事务日志不会减少,数据库认为它正在复制
我有一个运行Kaspersky Security Center的SQL Server 2008 R2 Express数据库,我不知道在什么情况下会进行安装,但是该数据库似乎认为它已被复制并且不会从事务日志中释放任何空间。例如: USE master; SELECT name, log_reuse_wait, log_reuse_wait_desc, is_cdc_enabled FROM sys.databases WHERE name = 'KAV'; SELECT DATABASEPROPERTYEX('KAV', 'IsPublished'); 返回: name | log_reuse_wait | log_reuse_wait_desc | is_cdc_enabled -----|----------------|---------------------|--------------- KAV | 6 | REPLICATION | 0 DATABASEPROPERTYEX('KAV', 'IsPublished') ---------------------------------------- 0 [not published] 同样Replication,SSMS 的部分中没有列出任何内容。 到目前为止,我已经尝试了一些来自Google结果的陈述: USE KAV; …


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.