标签: replication

使用 Galera 进行简单的主-主复制

我正在阅读文档,它特别提到一个 Galera 数据库集群必须至少有三个节点才能达到法定人数,尽管我们当前的设置是使用两个。

我的任务是重建集群。我的 Galera 用例是一个简单的主-主集群。它实际上是一个主从,第二个主坐在那里以防第一台服务器出现故障(然后我们可以将 PHP 配置指向它)。选择 Galera 是因为它是同步的。

我的问题是:

  1. 两节点配置是否安全/受支持?

  2. 在 3 节点设置中,如果第三个节点死亡,则它现在变为双节点设置。这现在不安全意味着我真的应该有一个 4 节点设置吗?

  3. Galera“仲裁者”究竟是什么?

mysql replication mariadb galera

1
推荐指数
1
解决办法
4867
查看次数

PostgreSQL 流式复制 - 主服务器损坏

我们在主数据库和从数据库之间有 PostgreSQL 9.3.9 流式复制。在复制时,Master 上是否会发生可能导致持久性问题或 Master 和 Slave DB 完全失败的问题?在复制时,我是否总是会保持持久性并准备好工作或恢复从属数据库?

postgresql replication

1
推荐指数
1
解决办法
648
查看次数

复制在请求之间花费太多时间

我们在 SQL Server 2014 中使用事务复制,有一个主(发布者)、1 个分发者(专用服务器)和 3 个从(订阅者)。

所有的写入都是对 master 进行的,而读取是从 3 个订阅者之一完成的。

我的问题是,如果您进行了插入/更新/删除操作,并且页面正在刷新,则更新尚不存在。在订阅者更新之前有 1-4 秒的延迟,这会使用户感到困惑,因为该行已插入/删除/更新,但尚未反映在订阅者上...

我们正在考虑进行点对点复制,但这似乎是 IDENTITY 的开销,它可以返回写入一个,但复制也需要太多时间......

我们可以/应该做什么?

replication sql-server transactional-replication

1
推荐指数
1
解决办法
345
查看次数

是否可以仅在订阅者中更改表的主键(从非集群到集群)而不破坏复制?

我有一个表,它有一个聚集唯一索引和一个与索引结构相同的非聚集主键。

IF OBJECT_ID('[dbo].[tblBAccountHolder]') IS NOT NULL 
DROP TABLE [dbo].[tblBAccountHolder] 
GO
CREATE TABLE [dbo].[tblBAccountHolder] ( 
[lngParticipantID]  INT                              NOT NULL,
[sdtmCreated]       SMALLDATETIME                    NOT NULL,
[strUsername]       VARCHAR(20)                          NULL,
[strPassword]       VARCHAR(20)                          NULL,
[tsRowVersion]      TIMESTAMP                        NOT NULL,
CONSTRAINT   [PK_tblAccountHolder]  
PRIMARY KEY NONCLUSTERED ([lngParticipantID] asc),

CONSTRAINT   [IX_tblBAccountHolder__lngParticipantID]  
UNIQUE CLUSTERED    ([lngParticipantID] asc) 
WITH FILLFACTOR = 100)
Run Code Online (Sandbox Code Playgroud)

正如您在定义中看到的那样,只有一列:

 CREATE  UNIQUE CLUSTERED INDEX IX_tblBAccountHolder__lngParticipantID 
 ON [dbo].[tblBAccountHolder] (  [lngParticipantID] ASC  )  
Run Code Online (Sandbox Code Playgroud)

我想删除唯一索引,并更改主键以使其成为集群。我将保留相同的主键,只需将其从非集群更改为集群。

该表是事务复制的一部分,我只会在订阅者数据库上完成此操作。不在发布者中。

这是一个包含超过 9,293,193 行的表格。

我会搞砸复制吗?

问题是我必须删除主键约束并将其重新创建为集群。

这是我想在订阅者数据库中完成的操作:

drop INDEX IX_tblBAccountHolder__lngParticipantID 
        ON [dbo].[tblBAccountHolder]  
GO

ALTER TABLE [dbo].[tblBAccountHolder] 
       drop CONSTRAINT …
Run Code Online (Sandbox Code Playgroud)

replication sql-server transactional-replication sql-server-2014 automation

1
推荐指数
2
解决办法
4455
查看次数

将 Postgres 服务器从 Windows 迁移到 Linux

简单的问题:我想将 Postgres 服务器的所有数据、模式、角色以及所有内容从 Windows 迁移到 Linux。

%PGDATA%我可以只复制Windows 中服务器指向 Linux 的目录内容,然后启动服务器,将 PGDATA 参数/变量指向该目录吗?换句话说,数据文件平台是否独立,使得从一个操作系统移植到另一个操作系统只需复制?

我还开发了一个用于克隆 PG 数据库、架构+数据的脚本,但由于多种原因,我更愿意将数据文件放在 USB 驱动器上并完成它。

postgresql replication datafile

1
推荐指数
1
解决办法
3070
查看次数

PostgreSQL - PUBLICATION 尝试复制另一个数据库中已存在的数据?

我在一台服务器上有数据库和表 collection_city 。它有 21 行。我在第二台服务器上有数据库和表 collection_city 。它也有 21 行。

他们都有这一行:

tinker=# table collection_city;
 id |     name      |    alias     | postal_code | region_id 
----+---------------+--------------+-------------+-----------
  2 | Obrenovac     | obrenovac    |             |         1
Run Code Online (Sandbox Code Playgroud)

id 列是主键。

我在第一台服务器上创建了发布:

CREATE PUBLICATION tinkerpub FOR ALL TABLES;

tinker=# \dRp[+]
                      Publication tinkerpub
  Owner   | All tables | Inserts | Updates | Deletes | Truncates 
----------+------------+---------+---------+---------+-----------
 postgres | t          | t       | t       | t       | t
(1 row)
Run Code Online (Sandbox Code Playgroud)

我在第二台服务器上创建了订阅:

CREATE SUBSCRIPTION tinkersub CONNECTION 'dbname=tinker host=192.168.150.5 user=postgres password=test port=5432' …
Run Code Online (Sandbox Code Playgroud)

postgresql replication master-slave-replication postgresql-11

1
推荐指数
1
解决办法
2603
查看次数

我们如何知道 SQL Server 中安装的 SQL Replication 组件

有人可以让我知道我们如何识别 SQL 服务器中是否安装了复制组件。

试过如下:

1.我们之前更改了服务器名称,因此在检查配置分发服务器和发布时给出以下警告。

标题:配置分发向导

SQL Server 无法连接到服务器“xxxxxxxx”。

附加信息:

SQL Server 复制需要实际的服务器名称才能连接到服务器。指定实际的服务器名称“zzzzzzzzz”。(复制。实用程序)


我将重命名服务器。

  1. 在尝试配置订阅时给出以下警告。

标题:新订阅向导

 

Microsoft SQL Server Management Studio 无法访问复制组件,因为此 SQL Server 实例上未安装复制。有关安装复制的信息,请参阅 SQL Server 联机丛书中的安装复制主题。

附加信息:  

此服务器上未安装复制组件。再次运行 SQL Server 安装程序并选择安装复制的选项。(Microsoft SQL Server,错误:21028)

现在,请建议 SQL 实例中是否安装了 Replication 组件

replication sql-server

1
推荐指数
1
解决办法
3277
查看次数

使用LSN监控逻辑复制

如何通过查看 lsn 来监控 Postgresql 12 中的逻辑复制?

我所做的:检查发布者和订阅者上的一些列。

出版方:

select * from pg_stat_replication; -- 查看 REPLAY_LSN

select * from pg_replication_slots; -- 参见 CONFIRMED_FLUSH_LSN

订阅方:

select * from pg_catalog.pg_stat_subscription; -- 查看 RECEIVED_LSN 和 LATEST_END_LSN

我确保这些列中的所有值都相同。

我对么 ?或者是否有其他方法可以通过检查某些参数来查看复制工作?

postgresql replication data-synchronization postgresql-12

1
推荐指数
1
解决办法
4949
查看次数

为什么与 SQL Server 复制相关的作业没有显示在 SSMS 的作业文件夹下?

我发现一些与 SQL Server 复制相关的作业没有显示在 SSMS 的作业文件夹下。谁能解释一下这是为什么?

谢谢。

replication sql-server

0
推荐指数
1
解决办法
344
查看次数

实时部分表/列复制

我想知道是否有办法用 SQL Server 2012 企业版实现以下功能?

我有Table AServer 1说 10 列。

Table A:
| col1 | col2 | col3 | coln | col10 |
Run Code Online (Sandbox Code Playgroud)

Server 2,我需要的实时副本Table ATable BServer 2。但是我实际上只需要复制 3 列,因为这就是我使用的全部。

Table B:
| col1 | col3 | col10 |
Run Code Online (Sandbox Code Playgroud)

我在上面提到了“实时”,我的意思是当我插入一个新值或更新一个新值时,Table A该更改将尽快传播到Table B.

Table B是只读表。并将Table A数据写入其中。所以 A 将是发布者,B 将是订阅者。

我怎样才能实现这种设置?换句话说,我需要使用某种复制吗?或者我可以通过 Always ON High Availability 实现这一点。

replication sql-server sql-server-2012 transactional-replication

0
推荐指数
1
解决办法
1514
查看次数

PostgreSQL:什么是数据复制?

我从一篇关于比较 MySQL 和 PostgreSQL 的帖子中读到,有人说:

PG 对我来说最大的缺点是缺乏复制,但它最近获得了异步和同步复制。

来源:https : //www.quora.com/What-are-pros-and-cons-of-PostgreSQL-and-MySQL

所以我的问题是:“PostgreSQL 缺乏复制”是什么意思?

postgresql replication

0
推荐指数
1
解决办法
92
查看次数

wal_level hot_standby 和logical

我有一个 PostgreSQL 设置,有一个主站和三个从站。它被配置为流式复制。

现在,我只想使用pglogical将几个表从主服务器复制到分析服务器。为此,我们需要启用逻辑wal_level. 那么如何在不破坏现有复制的情况下启用它呢?

postgresql replication configuration postgresql-9.6

0
推荐指数
1
解决办法
2190
查看次数