Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql中从从机到主机的数据更新_Mysql_Replication - Fatal编程技术网

mysql中从从机到主机的数据更新

mysql中从从机到主机的数据更新,mysql,replication,Mysql,Replication,我正在运行一个带有多个从属服务器的主mysql服务器。从主服务器到从服务器的复制过程运行良好。但有一个问题:我需要将一张表中的内容从从属表推送到主表中 主服务器本身也使用相同的表,但每个mysql服务器在该表中都有自己的数据。因此,我需要将从机的数据添加到主机 我曾想过跟踪每个从机的查询,然后将查询推送到主机,但这看起来很混乱,每当我遇到错误时,我都会被卡住 该表如下所示: 服务器ID(关键字段)-日期(关键字段)-统计 每台服务器都会跟踪其服务器上的统计信息,主机需要整合所有这些信息以用于报告

我正在运行一个带有多个从属服务器的主mysql服务器。从主服务器到从服务器的复制过程运行良好。但有一个问题:我需要将一张表中的内容从从属表推送到主表中

主服务器本身也使用相同的表,但每个mysql服务器在该表中都有自己的数据。因此,我需要将从机的数据添加到主机

我曾想过跟踪每个从机的查询,然后将查询推送到主机,但这看起来很混乱,每当我遇到错误时,我都会被卡住

该表如下所示:

服务器ID(关键字段)-日期(关键字段)-统计

每台服务器都会跟踪其服务器上的统计信息,主机需要整合所有这些信息以用于报告目的


有什么想法吗?

我最终用mysqldump转储了表,然后通过crontab将其添加到主数据库中

我意识到在这种情况下使用mysqldump和replace选项是很重要的,因为我可能已经有了条目。请注意,我使用的密钥确保条目只来自某个从属/主服务器,因此没有服务器会妨碍其他服务器

解决方案:

mysqldump -u xxx -pyyyy database table | mysql -h host -u xxxx -p yyy database

您真的需要将这些数据从从属服务器合并到主服务器上的同一个表吗?您认为如何使用crontab+bash将此表从复制中排除,并整合数据(从主表发送到从表,然后再发送回来)?我已经将其从复制中排除了。我只需要将从表的数据更新到主表中。我现在正在研究在从机上执行mysqldump,然后使用crontab将其推回到主机上,并使用REPLACE而不是inserti。如果您无法避免写入到从机中,则可以进行整合,这很好。你也可以看看钨复制器。您可以轻松地设置多个从机(在这种情况下,您的主机将是从机,所有从机将是主机)。你也跟着去