因此,我在将 MySQL 数据库备份存储在文件中的备份服务器上匿名化数据的解决方案.sql
如下:
创建了一个脚本,将.sql
文件从备份服务器复制到我的本地工作站,自动将其导入我的数据库服务器,直接匿名敏感数据,将数据库导出到另一个.sql
文件,删除原始文件.sql
并删除数据库。因此,我最终得到了一个匿名.sql
文件。但是,我希望通过直接重写.sql
它自己的原始文件中的值来使其更快。
你怎么看,最简单的方法是什么,或者我的解决方案已经是最好的了?正在考虑以某种方式使用该sed
命令,但我只是不知道 ATM 如何告诉脚本替换什么,在哪里,多少次以及用什么替换。:/
使用 Mysql 可以轻松地将数据导出和导入为 csv。
因此,可以在循环中使用简单的 shell 命令来操作数据。比解析 sql 容易得多。
就像一个简单的例子:
需要考虑的事项:
UPDATE
就地处理所有事务性的东西;这会导致额外的命中。所以,也许UPDATEing
不是最好的方法。CREATE TABLE
并DROP TABLE
付出一些努力,但不如读取或写入整个表格那么多。我会考虑以下(如果它适用于您的情况):
笔记...
DROP RealDB
吗?Anonymizer
。sed
.最后,您的所有答案都很好,但并没有提高性能并减少为开发人员提供匿名数据库所需的时间。这是我的 bash 脚本:
请忽略本地数据库服务器 root 没有密码的事实。
PHP 文件基于以下 GitHub 项目:
只需创建一个知道哪些数据需要匿名化的 php 文件,然后 bash 脚本就会运行它。OFC 您需要在本地工作站和 MySQL 服务器上安装 PHP。