草庐IT

复制集

全部标签

MySQL数据库复制

这是场景:我有一个带有数据库的MySQL服务器,我们称它为consolidateddb。这个数据库整合了来自不同数据库的几个表我有另一个MySQL服务器,带有原始数据库,这些数据库是生产数据库并且每天更新。公司希望将生产数据库中每个表的每个更新/插入/删除复制到consolidateddb中的相应表。复制能做到吗?我知道复制是在数据库到数据库上完成的,但不是在属于不同数据库的表到一个目标数据库上完成的。我希望我的解释很清楚。谢谢。编辑:将每个数据库中的所有表递归复制到单个从服务器是否可行?或者这是一个丑陋的解决方案? 最佳答案 为了

mysql - 复制 MySQL InnoDB 文件

我知道复制mySQLInnoDB文件(frm等)是自找麻烦。但是,如果我按原样复制整个MSYSQL目录怎么办?垃圾箱、数据、文档等。这行得通吗?我相信它应该有效。我说得对吗?除非明确设置,否则我认为MySQL不会在MySQL文件夹之外做任何事情。对于那些想知道为什么我需要这样做的人,我构建了Intranet应用程序,并且我通常会为这些东西制作简单的一键式基于WINDOWS的安装程序。这意味着在虚拟机器上准备WAMP/XAMPPSERVER状态、配置和所有内容,然后拍摄快照。 最佳答案 从命令行,备份到SQL文件:mysqldump-

mysql - 将数据从一个字段复制到另一个mysql多行

我想将数据从一个字段复制到另一个mysql多行。我试过跟随,但它并不适用于所有人,mysql甚至说“返回超过1行”UPDATEagreementSET_date2=(SELECTConcat(SUBSTRING(_date,7),'-',SUBSTRING(_date,4,2),'-',SUBSTRING(_date,1,2))ASnewddFROMagreementtemp); 最佳答案 尝试update`table_name`setdestination_field=source_field

mysql - 复制关系表数据

我希望我在这个问题上不会啰嗦太多,我只是想确保我要问的是完全清楚的(我认为这相当令人困惑:)。我有一个包含一堆表的数据库,其中设置了所有外键约束。关系有时深达几张表,也有一个子表与多个父表相关的情况。我想插入我的“顶级”表行之一的副本,以及与其相关的所有子表数据(保持关系完整性)。也就是说,我的新顶级行有自己的新主键(通过auto_increment),所有新的子行都有自己的主键(同样通过auto_increment),并且表的所有外键信息类似于我复制的数据(现在只有新创建的主键)。所以现在我将拥有一份独立于原始数据可变的关系数据的副本。为了使我的示例更加具体,我煞费苦心地建立了一个类

mysql - 将数据库中的 MySQL 父项和所有相关子项记录复制到新 ID

有没有一种简单的方法可以在不使用游标或外部脚本/代码的情况下严格使用SQL来复制父记录和所有相关的子记录?这是我所拥有的示例:categories==category_idcategory_nameparent_table==parent_record_idcategory_id...child_table1==child_table1_idparent_record_id...child_table2==child_table2_idparent_record_id...基本上,我需要精确复制所有这些数据。唯一会改变的字段是ID,因为它们都是auto_increment。基于上面的架

mysql - 复制具有公共(public)列的表数据

我需要将数据从一个表复制到另一个表。这些表没有所有相同的列或顺序;但要复制的数据总是在同一列中;即foo列中的数据应复制到foo列。如果它是只有两个表,我可以像这样硬编码列名:INSERTINTOtable_target(column1,column2,column4)SELECTcolumn1,column2,column4FROMtable_source;然而,有几十个表,需要完成一些额外的转换,所以如果我能说:复制任何匹配的列并忽略其余的列就好了。我已经设法弄清楚如何获取公共(public)列的列表,但现在我被卡住了。SELECTsrc.colFROM(SELECTCOLUMN_

mysql - 杀死 'copying to tmp table' 的复制 MySQL 进程是否安全?

我在主MySQL(5.0,Linux)服务器上遇到问题:我试图向表行添加注释,这会转换为ALTERTABLE命令。现在该过程停留在“复制到tmp表”上,复制了100'000'000+行。磁盘IO使用率高得令人不安。由于master正在使用复制,我不确定我是否可以终止这个进程。从站还没有看到ALTERTABLE命令。(为了清楚起见:我说的是从MySQL-PROCESSLIST中终止进程,而不是MySQL-Daemon-process本身。) 最佳答案 是的,你可以杀死它——在事务提交之前,ALTER不会进入二进制日志,即,直到ALTE

database - 是否可以在 mysql 中进行批量复制

我需要在我的Mysql数据库中插入多行。我的行在我的数据集中可用。我正在使用for循环逐行发送是正确的方法吗?... 最佳答案 您可以像这样使用单个SQL语句插入多行:INSERTINTOmyTable(col1,col2,col3)VALUES('myval1','myval2','myval3'),('myotherval1','myotherval2','myotherval3'),('anotherval1','anotherval2','anotherval3');更新:MarkR在他的评论中是正确的-如果您正在从用户那里

mysql - 是否可以在不同的主机上只复制一个具有不同 mysql 数据库的表?

我正在尝试复制我数据库中远程主机中的一个表。假设远程数据库发生了变化,我希望将它提交或复制到我的数据库中,以便使其与最新的变化保持同步,而不必运行任何转储、cron脚本或类似的东西。有没有什么方法可以将远程数据库中的一个表复制到我正在使用的主机中数据库内的一个表中?顺便说一句,我在两个地方都在基于freebsd的系统中使用mysql数据库。感谢提前 最佳答案 一种可能的解决方案是使用FEDERATED引擎(可能与事件调度程序结合使用以更新您的本地表) 关于mysql-是否可以在不同的主机

Mysql 存储过程复制父/子/孙层次结构中的记录

我有3个表格的父表、子表和孙表:+----------------++----------------++---------------------+|parent||child||grandchild|+----------------++----------------++---------------------+|parent_id(PK)||child_id(PK)||grandchild_id(PK)||parent_data||child_data||grandchild_data|+----------------+|parent_id(FK)||child_id(FK