如何从敏感数据删除或损坏的mysql转储数据库?

Rob*_* Lu 4 mysql security

我正在使用mysql.有些表包含敏感数据,如用户名,电子邮件地址等.我想转储数据,但表中的这些列已删除或修改为某些虚假数据.有什么方法可以轻松完成吗?

Wou*_*ick 5

我正在使用这种方法:

  1. 将敏感表的内容复制到临时表.
  2. 清除/加密敏感列.
  3. --ignore-tablemysqldump.exe 提供参数以保留原始表.

它保留了外键关键字,您可以保留不敏感的列.

前两个操作包含在我执行转储之前调用的存储过程中.它看起来像这样:

BEGIN 
    truncate table person_anonymous;
    insert into person_anonymous select * from person;

    update person_anonymous              set Title=null, Initials=mid(md5(Initials),1,10), Midname=md5(Midname), Lastname=md5(Lastname), Comment=md5(Comment);
END
Run Code Online (Sandbox Code Playgroud)

如您所见,我没有清除字段的内容.相反,我保持哈希.这样,您仍然可以看到哪些行具有相同的值,并且在导出之间您可以看到是否有任何更改,而没有任何人能够读取实际值.