标签: database-replication

为 postgres 副本创建只读用户

我最近实现了流复制,需要为副本创建一个“报告用户”。该用户将用于通过 ODBC 访问数据库以生成报告。

在从属(副本数据库)上,我似乎无法创建新用户。我还需要更改从站上“postgres”用户的密码。这是我尝试过的以及我得到的错误:

CREATE ROLE readaccess;
ERROR:  cannot execute CREATE ROLE in a read-only transaction
Run Code Online (Sandbox Code Playgroud)
\password postgres
ERROR:  cannot execute ALTER ROLE in a read-only transaction
Run Code Online (Sandbox Code Playgroud)

如何为我的副本创建新的只读用户?如何更改副本上用户“postgres”的密码?

注意:我确实意识到对于副本,您可以(或应该)仅具有只读访问权限。

谢谢。

postgresql database-replication

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

如何实现高可用性?

我的老板希望建立一个能够引起大陆灾难性事件的系统.他希望在美国拥有两台服务器,在亚洲拥有两台服务器(每个大陆有1台登录服务器和1台工作服务器).

  1. 如果地震破坏了两大洲之间的联系,两者都应该独自工作.当连接恢复时,它们应该彼此同步恢复正常.
  2. 外部云系统不允许,因为他没有信心.
  3. 系统应考虑可扩展性,这意味着新服务器的添加应易于配置.
  4. 服务器应该是负载平衡的.
  5. 服务器之间的连接应该非常安全(加密并通过SSL发送,尽管SSL负责加密).
  6. 系统应允许一个且仅一个用户使用一个帐户登录.(注意大陆和两个用户共享帐户之间的延迟可能同时到达两个登录服务器)

请帮忙.我已经结束了我的智慧.先感谢您.

failover load-balancing high-availability user-accounts database-replication

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

Rails 3和mysql主从复制

想在rails app中设置mysql主从复制.

是否有适用于Rails 3的插件/数据库适配器?Masochism插件是否适用于rails 3?

mysql ruby-on-rails master-slave database-replication

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

Mysql - 从"显示主状态"查询中选择值

嗨如何从'SHOW MASTER STATUS'查询exp中选择仅位置值

select position from (show master status); 
Run Code Online (Sandbox Code Playgroud)

谢谢你的时间和帮助

mysql replication master status database-replication

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

不太了解SQL Server事务日志

我已经阅读了SQL Server事务日志,但对如何使用/管理它们仍然不太满意.我知道它们对事务回滚,镜像,复制和日志传送等很重要.

对我来说,它们看起来仍然像一个黑盒子,我对它们做任何事都不太舒服.是否有工具允许我查看事务日志文件或获取有关它的信息?如果我不需要事务日志传送之类的东西,我可以定期收缩和/或截断我的日志文件吗?特别是在将备份还原到测试实例的情况下 - 我真的需要一个占用空间的数GB日志文件吗?我需要注意哪些其他功能特别依赖于事务日志,如果我缩小/截断日志文件将无法工作?

transaction-log sql-server-2008 database-replication database-mirroring

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

如何在生产中的副本集中添加新服务器

我是mongodb副本集的新手。

根据Replic Set Ref,这应该是我的应用程序中连接到mongodb的连接字符串

mongodb://db1.example.net,db2.example.net,db3.example.net:2500/?replicaSet=test
Run Code Online (Sandbox Code Playgroud)

假设这是生产副本集(即,我无法更改应用程序代码或停止所有mongo服务器),并且我想db4.example.nettest副本集中添加另一个mongo数据库实例。我该怎么做?

我的应用程序将如何了解新的 db4.example.net

如果您正在寻找真实的场景: 在任何现有服务器由于硬件故障等原因而关闭的情况下,自然会在副本集中添加另一个数据库服务器以保留冗余。但是,该怎么做。

mongodb database-replication

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

设置MySQL主 - 主复制

我目前有一个主服务器,并希望添加另一个主服务器进行故障转移.

在主服务器上,我已将以下内容添加到"my.ini"

server-id = 1
replicate-same-server-id = 0
auto-increment-increment = 2
auto-increment-offset = 1
log_bin=mysql-bin
log_error=mysql-bin.err
binlog_do_db=1
binlog_do_db=2
binlog_do_db=3
binlog_do_db=4
Run Code Online (Sandbox Code Playgroud)

添加后:

master-host = [IP]
master-user = [usernameslaveuser]
master-password = [password]
master-connect-retry = 30
Run Code Online (Sandbox Code Playgroud)

mysql服务器不再启动...所以我决定先让辅助服务器正常工作.

问题2:在新服务器上,我从主数据库的"data"/ mysql目录复制了我的用户文件.我还用MySQL工作台导入了所有数据库.

然后我把它添加到"my.ini":

server-id=2
replicate-same-server-id = 0
auto-increment-increment = 2
auto-increment-offset = 2

master-host = [IP]
master-user = [usernameslaveuser]
master-password = [password]
master-connect-retry = 30
log_bin=mysql-bin
log_error=mysql-bin.err
binlog_do_db=1
binlog_do_db=2
binlog_do_db=3
binlog_do_db=4
Run Code Online (Sandbox Code Playgroud)

服务器启动正常,所以我决定在主服务器上的复制数据库中添加一个表,但是没有复制到辅助服务器的更改...

我google了一下,发现我必须在mysql命令行中运行一些命令才能使复制工作.但是,当我在辅助服务器上打开它时,它无法启动...在命令提示符下打开它时,它显示mysql.exe:未知变量'server-id = 2"

两台服务器都运行Windows Server 2012 R2并安装了MySQL 5.6.15 64位.有人可以指导我真实的最后一部分设置吗?

mysql replication database-replication mysql-5.6

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

执行从副本集重新启动到独立时的异常

我目前正在试验MongoDB副本集机制.我已经有一个工作独立的Mongo服务器,其主数据库大约有20GB的数据.

我决定将此mongo服务器转换为主副本集服务器,然后添加具有类似配置的第二台计算机(但是更新的mongo版本),作为辅助副本集服务器.这很好,所有数据都按预期复制到辅助数据库.

但我想对数据执行一些更改操作(因为不知何故,我的数据模型已经改变,我需要,例如重命名一些属性,或者将引用转换为简单的ObjectId,有些类似的东西).与此同时,我想将具有旧版本(2.4)的第一台服务器更新为最新版本(2.6).

所以我决定按照MongoDB网站上的说明对副本集成员进行维护.

  1. 关闭辅助服务器.(好)
  2. 在另一个端口上独立重启服务器(两台服务器通常在27017上运行)

    mongod --dbpath/my/database/path --port 37017

然后,服务器永远不会正确重启,我得到这个:

2014-10-03T08:20:58.716+0200 [initandlisten] opening db:  myawesomedb
2014-10-03T08:20:58.735+0200 [initandlisten] myawesomedb Assertion failure _name == nsToDatabaseSubstring( ns ) src/mongo/db/catalog/database.cpp 472
2014-10-03T08:20:58.740+0200 [initandlisten] myawesomedb 0x11e6111 0x1187e49 0x116c15e 0x8c2208 0x765f0e 0x76ab3f 0x76c62f 0x76cedb 0x76d475 0x76d699 0x7fd958c3eec5 0x764329 
 /usr/bin/mongod(_ZN5mongo15printStackTraceERSo+0x21) [0x11e6111]
 /usr/bin/mongod(_ZN5mongo10logContextEPKc+0x159) [0x1187e49]
 /usr/bin/mongod(_ZN5mongo12verifyFailedEPKcS1_j+0x17e) [0x116c15e]
 /usr/bin/mongod(_ZN5mongo8Database13getCollectionERKNS_10StringDataE+0x288) [0x8c2208]
 /usr/bin/mongod(_ZN5mongo17checkForIdIndexesEPNS_8DatabaseE+0x19e) [0x765f0e]
 /usr/bin/mongod() [0x76ab3f]
 /usr/bin/mongod(_ZN5mongo14_initAndListenEi+0x5df) [0x76c62f]
 /usr/bin/mongod(_ZN5mongo13initAndListenEi+0x1b) [0x76cedb]
 /usr/bin/mongod() [0x76d475]
 /usr/bin/mongod(main+0x9) [0x76d699]
 /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5) [0x7fd958c3eec5]
 /usr/bin/mongod() [0x764329]
2014-10-03T08:20:58.756+0200 [initandlisten] exception in initAndListen: 0 assertion src/mongo/db/catalog/database.cpp:472, terminating
2014-10-03T08:20:58.757+0200 [initandlisten] …
Run Code Online (Sandbox Code Playgroud)

exception mongodb database-replication

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

SQL Server 2014 Express Replication

我是Sql Server的新手,想知道是否可以将SQL Server 2014 Express设置为复制的Publisher服务器?我在Replication文件夹树中找不到Local Publication节点.

publisher database-replication sql-server-2014-express

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

复制时插入带有Identity列的表会导致SQL Server错误

A_tbl我的数据库中有一个表。我创建了一个触发器A_tbl来捕获插入的记录。触发器正在将记录插入我的队列表中B_tbl。该表具有一Identity列,其属性“不可复制”为1。

  • A_tbl(Id,名称,值)Id作为主键
  • B_tbl(uniqueId,Id)与uniqueIdas Identity

触发代码这样做:

Insert into B_tbl (Id)
    select i.Id from inserted
Run Code Online (Sandbox Code Playgroud)

现在,我的表“ B”被复制到另一个数据库服务器,现在当我将数据插入表“ A”时,将导致此错误:

当IDENTITY_INSERT设置为ON或将复制用户插入到NOT FOR REPLICATION标识列中时,必须为表'B_tbl'中的标识列指定显式值。(来源:MSSQLServer,错误号:545)

请帮助我解决此问题。

sql database sql-server ssms database-replication

3
推荐指数
2
解决办法
2万
查看次数