如何检查两个大表是相同的?

我运行一个作为主,另一个从2台服务器。 我要检查的天气两个表有相同的数据。 如何检查并确认这一点? 表中有超过23万行。

另外,作为第一步,我试图运行CHECKSUM TABLE tbl;

但我在60秒后收到此错误: ERROR 2013 (HY000): Lost connection to MySQL server during query

请指教。

--------------解决方案-------------

也可以使用mk-table-checksum ,这是的Maatkit公用事业一部分。

http://www.maatkit.org/doc/mk-table-checksum.html

如果你的表设置主从,那么你不应该做此项检查。 两者之间的二进制同步确保你,它们是相同的。 不是吗?

如果你正在使用MySQL的最新版本一个你也应该看看表partitionning:http://dev.mysql.com/doc/refman/5.1/en/partitioning.html这将加速了很大的访问像校验和。

我不知道,如果其100%的可能要达到什么,而是要验证复制的状态,至少有一个办法是实施某种简单的心跳机制,如在书高性能MySQL的描述。

该方法适用于被插入在一个表中,并验证每20秒时间戳。 连同该状态报告SHOW SLAVE STATUS \G返回你得到有关当前状态的一些准确的统计数据。

你看从多少语句是高手,或复制错误的这种落后。 如果没有错误或挂起的语句,你应该足够细的假设,在时间t你的表是同步的。

分类:MySQL的 时间:2012-01-01 人气:0
本文关键词: MySQL中,复制,主从
分享到:

相关文章

  • 最简单的方法在MySQL中复制行 2014-04-02

    什么是对克隆一行MySQL中的不同ID的最简单方法. 例如: 制品 product_id name price ------------------------ 1 a 10 2 b 15 它看起来像怪异,但我需要克隆与产品id = 1那么该表将看起来像: 制品 product_id name price ------------------------ 1 a 10 2 b 15 3 a 10 --------------解决方案------------- 您可以使用子查询: INSERT I

  • 在MySQL中复制行 2012-02-13

    欲复制的所有的行的列的,但不是必须指定的每一列. 我知道在http://dev.mysql.com/doc/refman/5.1/en/insert-select.html语法,但我看不出有什么办法忽略的列. 在我的例子,我想一个行的所有列复制到新行,除了主键. 有没有办法做到这一点,而无需编写与它的每一个领域的查询? --------------解决方案------------- 如果您的id或主键列是auto_increment你可以使用一个临时表: CREATE TEMPORARY TAB

  • 从MySQL中复制MySQL数据库? 2012-12-31

    这可能是一个远射,但..是有可能复制整个数据库的布局(表,视图,程序,一切)与在存储过程中查询或多个查询? 基本上,寻找相同的功能,如果我想用mysqldump这样的 # mysqldump -u root -ppassword --no-data --routines dbname > file //create database copyofdbname # mysql -u root -ppassword copyofdbname < file 是否有可能做这一个mysql程序,无需任何

  • MySQL的复制和表锁 2012-02-27

    我有以下问题. 我有一个基于PHP和MySQL的一款MMORPG游戏,现在每秒平均约600查询. 我正好有与被锁定过长,并且阻碍了其他的查询表的问题. (例如更新查询需要等待选择查询),这些要等待这么久,内存已满. 需要这些疑问,我不认为我可以再优化. 它是用复制的主从一个聪明的主意? 师父的写入和奴隶的选择? 是否从具有与写语句(从日志斌)比师傅的性能少的问题? 它是否会真正帮助越来越少表锁问题? 在此先感谢,马丁 没关系啊,谢谢回答. 所以,如果我使用InnoDB的那些表. 它是聪明,他们的

  • 跳过一些列的复制就从MySQL中 2012-11-26

    我有主从相同的表. 两者都有很多列与price当中. 是否有可能设置为个人价值price在从列,以便复制将无法覆盖他们吗? 我们的系统工作在有个别价格许多国家,但我们也想从中央数据库具有一些共同的数据. 不过,我觉得了一些解决方案: 提取所有国家特定列不会被复制其他表. 这将需要大量的变化,我们的源代码. 创建具有唯一共同分享列将复制从主机,然后将其设置为师傅国家基础数据库,全面列定义一些代理数据库. 它看起来丑陋的我. 有没有更好的东西? 我希望得到任何帮助. --------------解决

  • 复制主从MySQL中有关于从多个表 2014-04-26

    问到数据库专家:是有可能使复制主从具有对从多个表的MySQL? 我只知道对不同表定义http://dev.mysql.com/doc/refman/5.1/en/replication-features-differing-tables.html --------------解决方案------------- 你可以不上的主和复制存在将正常进行为那些对主机和从机存在的表上的从表(假设你没有当然从复制排除它们!). 如果你想不上主存在于从表中,你将不得不直接从数据库中创建它们. 例如: 法师有表A

  • 只复制DDL在MySQL中 2012-02-26

    我不知道是否有任何简单的方法来保持在两个不同的MySQL集群是一致的方案. 除了经典的复制,我想有一个特殊的"复制",这将再现另一个集群(集群即主站)上的所有DDL查询(创建,修改,删除,...). 我不需要实际的数据被复制. 有没有人做过或尝试过这样的事? --------------解决方案------------- 你可以在MySQL中根据在其中执行查询的数据库中筛选复制. 这并不妨碍你做其他数据库中的变化,但是! 所以,你可以做的; USE ddl_repl_db; ALTER

  • 如何复制一行,并在同一个表MySQL中的自动增量字段中插入? 2012-12-08

    我有一个表EG-标签. 我所要做的就是复制与自动增量列ID = 1的行与行和列ID = 2将数据插入到相同的表. 使用MySQL. 我怎么能在一个查询中这样做吗?请帮帮忙 --------------解决方案------------- 使用INSERT ... SELECT : insert into your_table (c1, c2, ...) select c1, c2, ... from your_table where id = 1 其中, c1, c2, ...是除外的所有列id

  • 替代为多主复制MySQL中的自动增量主键 2014-02-15

    我speccing了一个web应用程序将需要是横向扩展,并需要从一开始就一对的MySQL服务器(可能上升到超过一个发射后不久). 作为一个自动增量主键是不适合的,我想知道的替代品的人使用的东西. 东西在很有道理,但如果你去到毫秒级,并假设一个三位数的服务器ID这是一个非常大的数字的日期: sssyymmddhhmmssmicros或001110510143622123456对于现在-再加上你也许可以与另一个数字做开头,简化了前导零(数据中心ID,也许). 划时代的时间缩短了,但只有一点点. 那里

  • 如何在MySQL表复制到另一个CakePHP中? 2014-05-09

    任何一个可以指导我如何我可以使用CakePHP如果可能的话,请给我的例子查询的一种MySQL表复制到另一个表中同一数据库中. --------------解决方案------------- 如果这是一个快速和肮脏的一次复制,我只是遍历所有的源表记录和创建新的目标记录: $source = $this->Source->find('all'); foreach($source as $sRec) { $this->Target->create(); $targetData = arr

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 1.088 (s). 10 q(s)