首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MySQL数据库与两个数据库同步

MySQL数据库与两个数据库同步
EN

Stack Overflow用户
提问于 2015-01-28 04:37:54
回答 1查看 123关注 0票数 0

我们遇到了一个问题,因为android应用程序出现了问题,移动应用程序的某些部分开始运行,而部分应用程序则提供给QA。因此,作为暂时的解决办法,我们已经使QA和Live成为DB的相同副本。例如,在这两个数据库中,我们都有用户和学校表,而android应用程序注册表单引用QA用户表,而学校条目表单是指Live表。这就是问题所在,当创建一个用户和学校时,我们需要同步两个数据库,我们需要将相关的学校添加到QA数据库中,学校表和相关的用户添加到实时服务器用户表中。

我希望我能清楚地解释这个问题,所以当一个事务发生时,我正在设法在两个数据库中同步这两个表。

在我们的下一个android应用程序中,这将被修复。到那时,用户的谁有目前的buggy应用程序,将使用不更新,我们需要找到一个方法来修复。

更新:请注意QA和Live位于同一台服务器上。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-28 04:52:59

听起来您需要在活动DB和QA实例之间进行某种MySQL复制。

您必须将prod DB配置为主服务器,将QA配置为从服务器。在prod my.cnf中,您将添加一个"server-id":

代码语言:javascript
运行
复制
[mysqld]
log-bin=mysql-bin
server-id=1

要使更改生效,需要重新启动prod。然后,更新QA my.cnf:

代码语言:javascript
运行
复制
[mysqld]
server-id=2

重新启动QA DB。接下来,在QA DB上创建一个用户,用于连接到主数据库,并授予它复制权限。

代码语言:javascript
运行
复制
mysql> CREATE USER 'repl'@'%.mydomain.com' IDENTIFIED BY 'slavepass';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%.mydomain.com';

接下来,您需要从命令行连接到prod并运行一些查询。这将允许您通过获取主数据库的状态来启动复制过程,这样,从服务器就有了开始复制的坐标。

代码语言:javascript
运行
复制
mysql> FLUSH TABLES WITH READ LOCK;

将会话保持为打开状态,然后创建一个新会话并运行“显示主状态”:

代码语言:javascript
运行
复制
mysql > SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000003 | 73       | test         | manual,mysql     |
+------------------+----------+--------------+------------------+

把文件和位置写下来。接下来,释放主人的锁。

代码语言:javascript
运行
复制
mysql> UNLOCK TABLES;

然后,在从db上开始复制:

代码语言:javascript
运行
复制
mysql> CHANGE MASTER TO
    ->     MASTER_HOST='master_host_name',
    ->     MASTER_USER='replication_user_name',
    ->     MASTER_PASSWORD='replication_password',
    ->     MASTER_LOG_FILE='recorded_log_file_name',
    ->     MASTER_LOG_POS=recorded_log_position;

在进行所有这些操作之前,请确保备份两个数据库上的所有数据,如果有必要,请将MySQL转储从Prod导入到QA DB。

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

https://stackoverflow.com/questions/28184714

复制
相关文章

相似问题

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