标签: database-replication

如果Master和slave有不同的数据库包含Mysql复制,如何重新同步Mysql DB?

Mysql Server1作为MASTER运行.
Mysql Server2作为SLAVE运行.

现在,DB复制正在从MASTER发生到SLAVE.

Server2从网络中删除并在1天后重新连接.在此之后,主站和从站中的数据库不匹配.

如何在恢复从Master到Slave的DB后再次重新同步DB也无法解决问题?

mysql database database-replication

134
推荐指数
8
解决办法
23万
查看次数

使用git repository作为数据库后端

我正在做一个处理结构化文档数据库的项目.我有一个类别树(约1000个类别,每个级别最多约50个类别),每个类别包含数千个(最多,比方说,~10000)结构化文档.每个文档都是几千字节的数据,采用某种结构化形式(我更喜欢YAML,但它也可能是JSON或XML).

该系统的用户可以进行多种操作:

  • 通过ID检索这些文档
  • 通过其中的一些结构化属性搜索文档
  • 编辑文件(即添加/删除/重命名/合并); 每个编辑操作都应记录为具有一些注释的事务
  • 查看特定文档的记录更改历史记录(包括查看更改文档的人员,时间和原因,获取早期版本 - 如果需要,可能还原为此版本)

当然,传统的解决方案是使用某种文档数据库(例如CouchDB或Mongo)来解决这个问题 - 然而,这个版本控制(历史)的东西诱惑我一个疯狂的想法 - 为什么我不应该使用git存储库作为一个这个应用程序的数据库后端?

乍一看,它可以像这样解决:

  • category = directory,document = file
  • 通过ID获取文档=>更改目录+读取工作副本中的文件
  • 使用编辑注释编辑文档=>通过各种用户进行提交+存储提交消息
  • history =>正常的git日志和旧事务的检索
  • search =>这是一个稍微棘手的部分,我想这需要定期将一个类别导出到关系数据库中,并对我们允许搜索的列进行索引

这个解决方案还有其他常见的陷阱吗?有没有人试图实现这样的后端(即任何流行的框架 - RoR,node.js,Django,CakePHP)?这个解决方案是否会对性能或可靠性产生任何影响 - 即它是否证明git比传统数据库解决方案慢得多,或者存在任何可扩展性/可靠性缺陷?我认为推送/拉取彼此存储库的这类服务器集群应该相当强大和可靠.

基本上,告诉我,如果这个解决方案将工作和为什么它会或不会做?

database git database-replication database-performance document-database

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

流复制和逻辑复制之间的区别

任何人都可以告诉我更多关于PostgreSQL中物理复制和逻辑复制之间的区别吗?

database postgresql database-replication

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

MongoDB副本集阻止查询到辅助

要设置副本集,我在3个单独的终端选项卡中运行:

 $ sudo mongod --replSet rs0 --dbpath /data/mining --port 27017
 $ sudo mongod --replSet rs0 --dbpath /data/mining2 --port 27018
 $ sudo mongod --replSet rs0 --dbpath /data/mining3 --port 27019
Run Code Online (Sandbox Code Playgroud)

然后,我在Mongo shell中配置了复制并验证它是否有效:

 > var rsconf = {
     _id: "rs0",
     members: [
       {
         _id: 0,
         host: 'localhost:27017'
       },
       {
         _id: 1,
         host: 'localhost:27018'
       },
       {
         _id: 2,
         host: 'localhost:27019'
       }
     ]
   };
 > rs.initiate(rsconf);
{
  "info": "Config now saved locally.  Should come online in about a minute.",
  "ok": 1
}
// Some time …
Run Code Online (Sandbox Code Playgroud)

mongodb database-replication

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

要复制的LOB数据长度(78862)超过配置的最大值65536

是一个相关的问题.

即使我没有安装SQL Server复制,为什么会出现此错误?最奇怪的是,当我运行修复程序时

sp_configure 'max text repl size', 2147483647
Go
RECONFIGURE
GO
Run Code Online (Sandbox Code Playgroud)

它工作,我不再得到这个错误

replication sql-server-2008 database-replication

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

MySQL复制错误'如果在查询时启用了日志记录,则无法'更改'日志表

MySQL复制因最后一个错误而中断

Last_Errno:1580 Last_Error:错误'如果在查询时启用了日志记录,则无法'更改'日志表.默认数据库:'mysql'.

似乎这是运行版本5.1.61的mysql_upgrade的错误我发现了一些错误报告,但是一旦在主服务器上执行了升级,就找不到如何解决这种情况.

有任何想法吗?

参考:http : //bugs.mysql.com/bug.php? id = 39133 http://bugs.mysql.com/bug.php?id=43579 http://bugs.mysql.com/bug.php? ID = 46638

mysql replication database-replication mysql-error-1064

22
推荐指数
2
解决办法
9260
查看次数

MongoDB 2.6.1命令行身份验证失败

我设置了具有身份验证的副本集.我用过这个教程.我设置了密钥文件,管理员用户和其他用户.一切正常 - 匿名访问被禁用,我可以登录

$ mongo
MongoDB shell version: 2.6.1
connecting to: test
Error while trying to show server startup warnings: not authorized on admin to execute     command { getLog: "startupWarnings" }
rs0:PRIMARY> use admin
switched to db admin
rs0:PRIMARY> db.auth("USERNAME","PASSWORD")
1
rs0:PRIMARY> 
Run Code Online (Sandbox Code Playgroud)

使用我创建的用户凭据.

但我无法从命令行登录

$ mongo -u 'USERNAME' -p 'PASSWORD'
MongoDB shell version: 2.6.1
connecting to: test
2014-05-18T14:23:47.324+0200 Error: 18 { ok: 0.0, errmsg: "auth failed", code: 18 } at   src/mongo/shell/db.js:1210
exception: login failed
Run Code Online (Sandbox Code Playgroud)

使用相同的凭据.我没有在文档中找到任何有用的信息,或者在SO上找到.

authentication mongodb database-replication

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

Raspberry Pi网状网络上的数据库复制

有没有人有一个很好的建议,我应该使用什么数据库,以实现跨可变数量的目标复制?我有一个Raspberry Pi服务器的网状网络,每个服务器都可以包含一个数据库.我希望通过网络复制每个数据库的内容,但我不能保证在任何时间点可用的节点.

大多数nosql数据库(例如CouchDB,Cassandra)似乎只支持配置中定义的目标.

所以(假设nosql是最好的数据库选项); 是否有一个nosql数据库可以复制到可变数量的目标?

database database-replication nosql raspberry-pi2

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

SQL Server更新触发器,仅获取已修改字段

我知道COLUMNS_UPDATED,我需要一些快速的快捷方式(如果有人做了,我已经制作了一个,但如果有人可以节省我的时间,我会恭维它)

我需要基本上只有更新列值的XML,我需要这个用于复制目的.

SELECT*FROM inserted为我提供了每一列,但我只需要更新的列.

像下面这样......

CREATE TRIGGER DBCustomers_Insert
    ON DBCustomers
    AFTER UPDATE
AS
BEGIN
    DECLARE @sql as NVARCHAR(1024);
    SET @sql = 'SELECT ';


    I NEED HELP FOR FOLLOWING LINE ...., I can manually write every column, but I need 
    an automated routin which can work regardless of column specification
    for each column, if its modified append $sql = ',' + columnname...

    SET @sql = $sql + ' FROM inserted FOR XML RAW';

    DECLARE @x as XML;
    SET @x …
Run Code Online (Sandbox Code Playgroud)

sql sql-server triggers database-replication sql-update

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

乐观与多版本并发控制 - 差异?

我试图找出,乐观并发控制(OCC)和多版本并发控制(MVCC)之间的区别是什么?

到目前为止,我知道两者都基于版本检查更新.

在OCC中,我读到了没有获取读取访问锁定的事务,只读取了后续更新,如果版本增加且版本检查失败,则更新将失败.在这种情况下,事务将被回滚.

在MVCC中,它基本相同,不是吗?区别在哪里?

concurrency database-replication

17
推荐指数
2
解决办法
4201
查看次数