我正在使用mysqldump来创建动态应用程序的DB转储,供开发人员使用。
此数据包含客户数据。我想匿名化这些数据,即删除客户姓名/信用卡数据。
一种选择是:
但这需要很大的开销。一个更好的解决方案是,在转储创建过程中进行匿名化。
我想我最终会解析所有的mysqlsqldump输出?有没有更聪明的解决方案?
发布于 2021-11-23 20:06:06
发布于 2013-01-07 16:04:12
如果要随机化数据,为什么要从表中选择?
使用数据安全地转储(配置表等)的表的mysqldump,以及仅具有结构的敏感表的mysqldump。
然后,在应用程序中,可以根据随机创建的数据为敏感表构造INSERT语句。
发布于 2019-05-06 11:05:48
几天前我不得不开发出类似的东西。我不能做INTO OUTFILE,因为数据库是AWS。最后,我得出了这样的结论:
从某些表中转储表格文本形式的数据:
mysql -B -e 'SELECT `address`.`id`, "address1" , "address2", "address3", "town", "00000000000" as `contact_number`, "example@example.com" as `email` FROM `address`' some_db > addresses.txt然后进口:
mysql --local-infile=1 -e "LOAD DATA LOCAL INFILE 'addresses.txt' INTO TABLE \`address\` FIELDS TERMINATED BY '\t' ENCLOSED BY '\"' IGNORE 1 LINES" some_db只有mysql命令才能做到这一点。
由于导出非常快(大约30.000行的几秒钟),所以导入过程有点慢,但仍然很好。我不得不在路上加入几个桌子,而且有一些外键,所以如果你不需要的话,它肯定会更快。另外,如果在导入时禁用外键检查,也会加快速度。
https://stackoverflow.com/questions/14199404
复制相似问题