我需要做常规SQL转储来保存数据库,但在表“users”中有“name”和“firstname”列必须是匿名的(通过随机字符串或其他方式更改值)。我想知道如何转储我的数据并同时更改这些列的值?
这是一个mySQL数据库
谢谢 !
你不能用mysqldump
工具做到这一点。它没有任何转换输出的选项,它只转储数据库中的数据。所以如果你使用mysqldump
,你的选择是:
sed
并用它来过滤mysqldump的输出。我对sed非常好,我不会尝试。因此,您可以尝试在不使用mysqldump
的情况下转储数据,因此您可以在数据上进行自定义转换的更多选项。
你可以写一个脚本到SELECT ... FROM MyTable;
,这基本上是mysqldump
所做的。但是,如果您编写自己的工具,则可以使用表达式来匿名化名称和名称,而不是按原样转储这些列的内容。
然而,为mysqldump
编码你自己的替代品比听起来更难。一些开发人员已经尝试过,并且发现它非常错误。我以前回答过有关它的问题: