AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题

问题[master-slave-replication](dba)

Martin Hope
user984074
Asked: 2021-11-08 05:15:48 +0800 CST

postgresql流复制场景中的主节点转换为从节点

  • 1

我有 2 个相同的 PostgreSQL 13 服务器并为两个服务器配置了流复制。(nodeA是master,nodeB是slave)它工作得很好。所有 DML、DDL 操作都正确复制

我的问题是关于灾难场景。我正在像灾难一样停止主服务器然后我正在使用以下命令提升从服务器

pg_ctl promote -D $PGDATA 

然后我正在测试在 nodeB 上正常工作的插入/删除/更新命令,它可以工作

所以我想将 nodeA 切换为新的从属服务器。我正在应用 pg_rewind 命令来同步时间线,它也工作得很好

但不知道如何将 nodeA 配置和启动为新的备用节点?

如果我能做到,我也会尝试再次切换操作

此致

postgresql master-slave-replication
  • 1 个回答
  • 283 Views
Martin Hope
Jos
Asked: 2021-02-15 12:40:51 +0800 CST

如何将MySql Master-Master Replication更改为Master-Slave Replication

  • 0

我目前在 Master2 上设置了带有 Read_only 的 MySql Master-Master 复制设置。有很多同步问题,所以我通过停止 Master1 中的 Slave 来停止从 Master2 到 Master1 的复制。Master1 当前正在复制到 Master2,没有任何问题。这是否足够,或者是否有另一种恢复到主从复制的最佳方法。我是否应该在 Master1 上运行 RESET SLAVE 以完全停止从 Master2 到 Master1 的复制。

mysql master-slave-replication
  • 1 个回答
  • 144 Views
Martin Hope
Karan
Asked: 2021-02-06 04:35:31 +0800 CST

Mysql Innodb 集群复制

  • 0

大家好, 这是我第一次做集群复制。但我坚持添加实例。我不知道为什么会出现这个错误。“错误说 START GROUP_REPLICATION 命令失败,因为初始化组通信层时出错”。

我正在关注本教程 https://mysqlserverteam.com/mysql-innodb-cluster-8-0-a-hands-on-tutorial/

提前致谢

NOTE: The target instance '*********' has not been pre-provisioned (GTID set is empty). The Shell is unable to decide whether incremental state recovery can correctly provision it.
The safest and most convenient way to provision a new instance is through automatic clone provisioning, which will completely overwrite the state of
'********:3306' with a physical snapshot from an existing cluster member. To use this method by default, set the 'recovery method' option to 'clone'.

The incremental state recovery may be safely used if you are sure all updates ever executed in the cluster were done with GTIDs enabled, there are no
purged transactions and the new instance contains the same GTID set as the cluster or a subset of it. To use this method by default, set the 'recoveryMethod' option to 'incremental'.

Please select a recovery method [C]lone/[I]ncremental recovery/[A]bort (default Clone):
Validating instance configuration at *********:3306...
This instance reports its own address as *********
Instance configuration is suitable.
NOTE: Group Replication will communicate with other members using '*********:33061'. Use the local address option to override.

A new instance will be added to the InnoDB cluster. Depending on the amount of
data on the cluster this might take from a few seconds to several hours.

Adding instance to the cluster...

ERROR: Unable to start Group Replication for instance 'Mysql-Cluster-Test:3306'.
The MySQL error_log contains the following messages:
  2021-02-04 12:14:06.019727 [System] [MY-013587] Plugin group_replication reported: 'Plugin 'group_replication' is starting.'
  2021-02-04 12:14:06.023702 [Warning] [MY-011735] Plugin group_replication reported: '[GCS] Peer address "*******:33061" is not valid.'
  2021-02-04 12:14:06.023739 [Error] [MY-011735] Plugin group_replication reported: '[GCS] None of the provided peer address is valid.'
  2021-02-04 12:14:06.023957 [Error] [MY-011674] Plugin group_replication reported: 'Unable to initialize the group communication engine'
  2021-02-04 12:14:06.023981 [Error] [MY-011637] Plugin group_replication reported: 'Error on group communication engine initialization'
Cluster.addInstance: Group Replication failed to start: MySQL Error 3096 (HY000): *******:3306: The START GROUP_REPLICATION command failed. ```
mysql master-slave-replication
  • 1 个回答
  • 969 Views
Martin Hope
SciGuyMcQ
Asked: 2020-10-31 14:58:29 +0800 CST

具有级联复制的 Postgres 10 日志传送副本

  • 1

我正在计划进行一个棘手的(至少对我而言)迁移,我从云提供商那里获得主 postgres 10 db,这将不允许复制用户连接。我确实有一个基本备份和 WAL 被运送到 AWS S3。我已经轻松地设置了一个日志传送副本作为热备用,以促进和正式迁移出初始云平台。

但是,我还希望在初始日志传送副本被提升后立即为 HA 准备好另一个温暖的备用,以防万一发生故障,我有一些立即可用的东西。有几个 TB 的数据,因此在数据库升级后生成一个代表重大风险的副本需要几个小时。

postgresql master-slave-replication
  • 1 个回答
  • 111 Views
Martin Hope
Yassine LD
Asked: 2020-04-28 09:55:29 +0800 CST

将数据从另一个数据库加载到 MASTER 时关闭 SLAVE

  • 1

我有一个带有单个数据库的活动主/从复制(Mariadb 10.2)(参见场景 1)

设想

我决定添加 IMPORT 数据库以填充 MASTER 数据库,如方案 2 中所述。但是,SLAVE 实例关闭并且“未知数据库导入”错误被追溯。

在此处输入图像描述

为了克服这个问题,我在 SLAVE 服务器(导入)中创建了一个同名的数据库,并且错误消失了(参见场景 3)。 在此处输入图像描述

但是,创建的数据库(从属导入)没有表(故意),因此为了确保数据被插入到我测试的从属中,我在MASTER 数据库中创建了一个测试表,并且我确实从Master 的导入数据库中插入了数据。

结果,即使从库的导入库没有表,从库中的数据也很明显是可用的。

所以基本上,我们只需要在从属部分中使用相同的数据库名称就可以在不需要表的情况下工作。

您能否向我解释一下它是如何工作的?如果它是基于行的格式,为什么我们需要在从站中使用相同的数据库?

mariadb master-slave-replication
  • 1 个回答
  • 80 Views
Martin Hope
Demigod
Asked: 2020-02-08 03:29:32 +0800 CST

MySQL 复制未在下一次站点调用时完成

  • 1

我有 3 个 MySQL8.0 实例。其中两个是奴隶。每个站点调用我都在读取从站,直到发出第一个写入请求。之后在请求期间仅使用 Master。现在,如果我在数据库中写入一些内容并将用户重定向到新页面,则从站尚未更新。有什么办法可以处理这样的事情吗?

我已经找到使用 Galera Cluster/Percona xtraDB/ Group Replication降级到 MySQL 5.7 的解决方案。

还有其他想法吗?你更喜欢哪个?

mysql master-slave-replication
  • 1 个回答
  • 92 Views
Martin Hope
TheOneWhoDoesItAll
Asked: 2019-10-09 22:50:23 +0800 CST

MySQL 快速数据库数据验证主/从

  • 0

我正在将一个 MySQL 数据库从美国迁移到澳大利亚,并且要求将停机时间保持在绝对最低限度。

数据库大小为 400GB,复制工作没有任何问题。但是,使用 pt-table-checksum执行数据验证需要几天时间。

为了确保数据库的完整性一直保持到切入点,是否有比 pt-table-checksum 更好的工具来验证主从之间的数据是否一致?或者可以优化 pt-table-checksum 以使其运行得更快吗?

请注意,在不同地理区域使用 pt-table-checksum 进行的初始测试是在数据库都空闲的情况下执行的

任何建议表示赞赏!

mysql master-slave-replication
  • 1 个回答
  • 110 Views
Martin Hope
Mark
Asked: 2019-09-30 09:11:39 +0800 CST

mysql主从配置my.cnf

  • 1

我正在按照本指南设置主从配置(https://support.rackspace.com/how-to/set-up-mysql-master-slave-replication/),我对结尾感到困惑他们设置 SLAVE 的文档

在设置slave时,他们建议将以下内容放入SLAVE my.cnf文件中

bind-address = 0.0.0.0
server-id = 2
master-host =  [private-IP-of-db01]
master-user = [replication-username]
master-password = [replication-password]
master-connect-retry = 60

后来他们建议登录到 mysql,然后告诉奴隶从哪里开始复制

# mysql -u root -p
mysql> SLAVE STOP;
mysql> CHANGE MASTER TO MASTER_HOST='[private-IP-of-db01]',
MASTER_USER='[replication-username]',
MASTER_PASSWORD='[replication-password]',
MASTER_LOG_FILE='[file-listed-on-master-status]',
MASTER_LOG_POS=[log-position-listed-on-master-status];
mysql> START SLAVE;
mysql> SHOW SLAVE STATUS\G

我的问题专门针对 MASTER LOG FILE 和 MASTER LOG POS。这些东西不是要在slave上my.cnf里设置吗?

我问这个是因为如果有一天我出于某种原因必须重新启动 slave mysql,slave 将如何知道从哪里接起?我是否必须通过重新导入数据库的过程才能再次知道该位置?或者我是否必须在关闭从数据库之前保存位置#?

谢谢!

mysql master-slave-replication
  • 3 个回答
  • 1314 Views
Martin Hope
Eloff
Asked: 2019-07-11 16:24:28 +0800 CST

pg_export_snapshot 是否跨副本工作?

  • 1

这可能无关紧要,但在 PostgreSQL 中可以使用 pg_export_snapshot 检索事务快照并使用 set transaction 恢复它以启动具有相同可见性级别的第二个事务(请参阅文档)。

我很想知道这是否适用于热备份或特定于单个服务器?您可以在备用数据库上导出快照,然后将其与主数据库上的设置事务一起使用吗?我对此表示怀疑。

postgresql master-slave-replication
  • 1 个回答
  • 335 Views
Martin Hope
Goran Siriev
Asked: 2019-06-08 02:46:28 +0800 CST

master mysq8 slave Mariadb 10.3 错误22

  • 2
  • 大师(mysql Ver 8.0.16)
  • 从属(mysql Ver 15.1 Distrib 10.3.15-MariaDB)

我有这个错误

错误'字符集'#255'不是一个编译的字符集,并且没有在查询的'/usr/share/mysql/charsets/Index.xml'文件'中指定。默认数据库:'test.database'。查询:“开始”

    MASTER my.cnf
    [mysqld]
    collation-server = utf8_unicode_ci
    character-set-server = utf8
    [client]
    default-character-set=utf8

    SLAVE my.cnf
    [client]
    default-character-set=utf8mb4
    [mysql]
    default-character-set=utf8mb4
    [mysqld]
    character-set-server = utf8mb4
mysql master-slave-replication
  • 1 个回答
  • 407 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve