数据库 – 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”键会发生什么 – 即使遇到错误也要继续? (编辑:沧州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- SQL Server中怎么样实现数字辅助表?一文带你看懂
- HTML表格标记教程(39):表头的亮边框色属性BORDERCOLORLIGHT
- sql-server – SSD(Raid 1)vs SAS(Raid 10)Sql Server硬件推
- sql-server – 如何对服务器上的所有数据库执行SQL
- sql-server-2005 – 永久删除表时回收SQL Server 2005数据库
- 爱国者新款多功能镜面迷你王重彩上市!
- SQL语句怎样写实现截取字符串的小写字母?
- sql-server – 何时使用TINYINT over INT?
- sql-server – 使用FreeTDS连接到MS SQL Server:错误20002
- sql-server – 为什么还有varchar数据类型?