数据库 – mysqldump – where with =运算符不能获取所有行
我有一个特定表的环境,此刻以为它包括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”键会产生什么 – 纵然碰着错误也要继承? (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |