数据从一个DB复制到另一个DB

时间:2011-04-25 22:35:50

标签: mysql

我有两个mysql数据库,一个是测试&另一种是生产(在两个不同的服务器上),我想让少数用户从测试转向生产。

通过初级和初级相关的表格很少。外键(因此不应存储重复的条目)。

实施此方法的最佳方法是什么?任何查询样本?

1 个答案:

答案 0 :(得分:0)

最简单的方法是使用联合引擎设置一些表,这样您就可以简单地复制数据,执行您需要的任何检查以防止重复。

首先检查你是否有联邦引擎可用,在MySQL shell中'显示引擎',希望你会有这样的一行:

FEDERATED  | YES | Federated MySQL storage engine| NO | NO | NO || 

如果没有,请尝试将单词'federated'单独放在my.cnf文件中的一行(通常在/ etc中),然后停止&重新启动mysqld服务。

如果守护程序未重新启动,那么您的安装没有联合插件,请从my.cnf中取出该行以启用重新启动。如果是这种情况,那么您将不得不下载,安装和启用该插件。

启动引擎后,您可以设置如下表格:

create table tb1 (col1 varchar(10)) ENGINE=FEDERATED CONNECTION='mysql://mysqlusername:password@192.168.1.1:3306/databasename/tablename';
联合(本地)表中的列与要连接的远程表中的列相同。

运行'create table'命令后,运行'show create table ...'并确保正在使用联合引擎,因为如果出现错误,MySQL将使用MyISAM引擎而不发出消息配置。

确保您已在db上设置权限以允许从远程系统登录。

就是这样,一旦设置了联合表,就可以读取& amp;写成好像是本地的(但不要忘记,如果你链接到你的生产数据库,那么你正在使用真实的数据!)。

相关问题