所以我有一个包含近 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/