首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL数据同步

MySQL数据同步
EN

Database Administration用户
提问于 2011-07-24 22:16:16
回答 2查看 649关注 0票数 2

我有一个用户将离开办公室一段时间,但仍然希望能够将大量记录插入到我们的MySQL数据库中。用户将有一台笔记本电脑,但没有可靠的互联网连接,所以没有VPN等。

我知道MySQL有一个主/从复制功能,但是除非我误解了,否则它只为奴隶提供只读同步。

我在想,我可以拍下主数据库的快照,并将其复制到用户笔记本上的本地服务器。从这一点开始,本地数据库和主数据库当然会不同步。但是,由于用户只打算在离开时添加记录,而不是删除或更新记录,我想,也许只是天真地认为,重新同步应该相对容易一些SQL脚本。

走这条路对吗?有什么隐患需要注意吗?

EN

回答 2

Database Administration用户

发布于 2011-07-25 00:16:09

只要旅行的用户将添加、更新和删除记录,并且能够保证没有其他人在主人中接触,您就可以尝试一些东西。

您要做的是在Master之间设置MySQL循环复制(主/母)。一旦您完成了这一任务,旅行用户(TVU)就该离开一周了,下面是该做的事情:

步骤1:在主服务器上运行停止从程序

步骤2:在LapTop上运行停止从服务器

步骤3:在LapTop上插入、更新和删除

步骤4:确保TVU不会删除或更新主人在一周内将处理的数据。

步骤5:当TVU返回时,运行START从服务器;在主服务器上重新连接主服务器到LapTop。本周发生在LapTop上的所有插入、更新和删除都将传递给主服务器。在主服务器上每隔几分钟运行一次显示从状态\G,并查找Seconds_Behind_Master到0。这样做时,来自LapTop的数据将被同步到主服务器。

步骤6:(可选)运行START从服务器;在LapTop上运行主在一周内完成的所有插入、更新和删除操作。在LapTop上每隔几分钟运行一次显示从状态\G,并查找Seconds_Behind_Master到0。当这样做时,来自主服务器的数据将被同步到LapTop。

唯一真正的危险是如果您删除或更新LapTop上仍然需要在主目录上的数据。如果您忘记了这一点,步骤5将使数据更改或无意中消失。只要您只在LapTop上使用一组新的数据,就不会有问题。

您应该在DevServer和仅用于开发的LapTop之间进行测试。

更新2011-07-24 21:42美国东部时间

还有一件事你可以试试:

步骤1:在LapTop上安装mysql,笔记本电脑上没有初始数据,也没有二进制日志记录

步骤2: mysqldump将数据从母版中转储到LapTop中

步骤3:将其添加到my.ini上的LapTop中

代码语言:javascript
复制
[mysqld]
log-bin=mysql-bin

步骤4:在不重新启动LapTop的情况下激活二进制日志记录

代码语言:javascript
复制
SET GLOBAL SQL_LOG_BIN = 0;

或者重新启动mysql

步骤5:在LapTop上执行插入、更新和删除(确保它们与母版上所需的数据不冲突)

步骤6:运行以下命令

代码语言:javascript
复制
mysqlbinlog mysql-bin.0* > ThisWeeksChanges.sql

步骤7:在母版上运行此命令

代码语言:javascript
复制
mysql> source ThisWeeksChanges.sql
票数 2
EN

Database Administration用户

发布于 2011-07-25 01:15:32

如果您的表包含任何自动增量主键,则此用户所做的任何插入都将导致日后同步时令人眩目的头痛。

在这种情况下,他的自动递增插入将与主数据库的任何内容不匹配,并导致外键约束的潜在问题。

我想不出任何其他的陷阱,不知道你的表设计更多,除了说这可能是真的不推荐!

另一种方法是修改他的插入以生成.sql文件(而不是实际插入到database...again中,不确定应用程序是如何设置的),然后将其上传到服务器上,由他的膝上型计算机上的某个人作为从机运行。当然,这会导致一些周转时间,除非您将其设置为在上传文件时自动解析。只是想想出另一个主意。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/4071

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档