加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

数据库 – mysqldump – where with =运算符不能获取所有行

发布时间:2021-01-11 09:52:04 所属栏目:MsSql教程 来源:网络整理
导读:我有一个特定表的情况,现在认为它包含4 PB的数据.我知道这听起来很酷,但我保证,它仅限于60GB分区. 该表中有9个字段.其中一个是domain_id字段.它是识别行的最佳字段,因为它们只有大约6300个.匹配的唯一其他字段选项有超过200万条记录,而这更加困难. 我不能

我有一个特定表的情况,现在认为它包含4 PB的数据.我知道这听起来很酷,但我保证,它仅限于60GB分区.

该表中有9个字段.其中一个是domain_id字段.它是识别行的最佳字段,因为它们只有大约6300个.匹配的唯一其他字段选项有超过200万条记录,而这更加困难.

我不能做一个直接的mysqldump,因为它会尝试输出所有4PB数据并在它接近之前填充驱动器,所以我需要通过手术删除好东西,销毁数据库,然后重新创建它.

我相信如果我可以为每个domain_id记录执行转储,那么我将从中获取大部分可用数据.这就是我想要使用的:

mysqldump -u root --skip-opt -q --no-create-info --skip-add-drop-table 
 --max_allowed_packet=1000000000 database table --where="domain_id=10" 
 > domains10.sql

使用这个我希望导出具有domain_id 10的每一行.

但是,当我检查导出时,我只得到1行,但是当我查看db时,有很多行.就好像运算符只找到一个,然后放弃.

我试过各种操作符.使用<或>我能够获得更多数据,但导出在数据受损的某些行停止.经过6000多次,我不能轻易地缩小出口中受影响的行.

所以,我需要的是一个基本上做我认为=会做的操作符,只需输出一个与特定字段匹配的所有记录.

还要注意,我得到这个DB甚至可以访问的唯一方法是通过innodb强制恢复3.所以我需要做到这一点,因为在完成之后,我必须删除数据库以使mysql再次运行.

期待任何有用的答案.

解决方法

从你写的东西看来,数据库已经被破坏了(认为4PB而不是60GB是一种赠品).

我怀疑你可以得到任何检索信息可靠性的保证,除非你先修复db.你试过这个吗?

否则,如果你执行“-f”键会发生什么 – 即使遇到错误也要继续?

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读