mysql - 是否可以使用 mysqldump 一次备份特定 MySQL 表中的一些记录?这是一张有很多记录的表

标签 mysql sql database backup

所以我有一个包含近 200,000 条记录的表,我想清理它们。不过我想支持它。我尝试使用 phpMyAdmin 界面,但由于数据库规模巨大,脚本不断超时。我曾尝试一次备份 5000 个,但没有成功。

我想知道使用 mysqldump 命令从命令行执行此操作是否会更好。但是,我很难想出以下命令:

  • 备份特定数据库(例如 db1)
  • 备份 db1 中的特定表(例如 table1)
  • 一次备份几条记录(例如 2500 条)

我知道问题不是连接问题,因为我可以连接到它。

这是我到目前为止所拥有的:

mysqldump --opt -h somedomain.com -u dbuser -p dbpass db1 table1 > ./my-backup-file.sql

任何帮助将不胜感激。

更新:

我知道问题出在哪里了。注册表单开放供任何人注册,垃圾邮件机器人发现了该表单并用注册请求对其进行攻击,从而在数据库中创建了大约 199,980 条新记录。所以我知道它们是插入的标准 varchar 和文本数据。我想知道的是最简单、痛苦、免费的清理方法。

最佳答案

您还可以使用 --where 参数,如下所示:

--where="1=1 LIMIT 0, 2500"

这将在查询末尾附加 LIMIT 子句

关于mysql - 是否可以使用 mysqldump 一次备份特定 MySQL 表中的一些记录?这是一张有很多记录的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16467007/

相关文章:

php - Mysql:每个socket地址的用法

mysql - 我需要按降序SQL选择某些名称的最大值、最小值和平均值

c# - Entity Framework : How can I use more then one context and stay synchronized?

php - 为什么使用 LIKE %value% 给我的 php 页面一个 500 代码?

php - 如何摆脱 LEFT JOIN SQL 查询中的重复值

mysql - 类似运算符的SQL查询

MySQL 日期函数 - 你可以不用查询就检查它们的输出吗

android - 可以保存到sql并推送到android的服务器

mysql - ""重复条目“同时插入复合主键表

java - 如何使用数据库导航器插件 intelliJ 连接到 mysql 服务器