我想运行 mysqldump 或基本上,任何可以让我轻松地将 mysql 数据库从一台服务器导出/导入到另一台服务器的东西。
事情是:我想将生产数据导出为暂存/集成/演示数据。这意味着,在导入数据之前,所有用户数据都必须消失。有一次,用户被导入,因为系统运行了一个 cron 作业,服务器开始发送 200,000 封电子邮件。你可以想象?是的是的,只是在导入之前禁用 cronjob,但是意外发生了。因此,导入用户数据然后删除它们不是一种选择。
最佳情况下,我只想忽略某些有电子邮件的列,或者用测试电子邮件字符串替换该电子邮件。
有什么可以帮助我的吗?
php 是我们用于应用程序的,因此任何 php 导入导出工具也是可能的。
本机
mysqldump
没有忽略列的功能。但是您可以通过将该特定表导出为 CSV 然后将其导入到您的暂存区来完成此操作。例子
testtable有一些秘密数据。
显示虚拟电子邮件的视图
从 shell 将数据导出为 CSV
仅转储所有具有模式的表
转储原样导入的表
恢复数据库:
恢复模式:
恢复完整表:
恢复 CSV 文件:
查看数据:
或者简单的方法:恢复后清除电子邮件列