Mysql 清理生产数据库以用于测试

Mysql 清理生产数据库以用于测试,mysql,database,virtualbox,sanitization,Mysql,Database,Virtualbox,Sanitization,我正在构建一个本地vm来进行web开发,而不是使用我们的站点开发。我需要一个本地数据库,但我不想只是拉下一个生产数据库并使用它,因为它包含的信息虽然不受HIPAA或任何东西的保护,但在笔记本电脑被盗的情况下不应可用。是否有任何应用程序或建议的做法来清理这些数据,以便我能够拉下数据库,清理它,并将其安装到我的虚拟机中 澄清:我真正想要的是一个应用程序,它允许我将特定列标记为敏感列,并在我导入数据库的新副本时对这些列进行重击。听起来你需要的是一个数据生成器,它将用虚假数据填充你的数据库。Redgat

我正在构建一个本地vm来进行web开发,而不是使用我们的站点开发。我需要一个本地数据库,但我不想只是拉下一个生产数据库并使用它,因为它包含的信息虽然不受HIPAA或任何东西的保护,但在笔记本电脑被盗的情况下不应可用。是否有任何应用程序或建议的做法来清理这些数据,以便我能够拉下数据库,清理它,并将其安装到我的虚拟机中


澄清:我真正想要的是一个应用程序,它允许我将特定列标记为敏感列,并在我导入数据库的新副本时对这些列进行重击。

听起来你需要的是一个数据生成器,它将用虚假数据填充你的数据库。Redgate有一个很好的,但我不知道它是否能与mysql一起工作。也许我能帮你

TRUNCATE table;

在任何不希望保留数据的表上,然后为任何敏感用户数据设置虚拟值,或者删除所有用户数据,只需将一些帐户转换为本地测试帐户(用户“testadmin”、密码“password”等)


您应该问自己一个更有趣的问题:为什么我的数据库还没有可以运行以创建干净数据库的骨架sql迁移?当您需要在另一台服务器上创建单独的生产实例时,会发生什么情况?

您对清理有什么兴趣?具体信息会很有帮助,即给定表中的所有行、所有表等。
updatepersonsetssn='000000000'某些表中的特定列。我只是想清除任何可以用来查找特定用户、地址、电子邮件等的东西。@Andrew我想找一些比这更复杂的东西。看起来我只需要写一个脚本就可以了。@docgnome:这是每个数据库的问题。只需清除所有包含敏感信息的列。就这么简单。您目前正在寻找一种比最初更复杂的方法。虽然迁移非常有用,但我们构建的应用程序是内部的,因此部署其他服务器不是问题。。。然而……)数据生成器可能是我实际应该使用的。
DELETE FROM table WHERE true;