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

标签 mysql security

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

最佳答案

我正在使用这种方法:

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

它保留外键约束,您可以保留不敏感的列。

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

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

如您所见,我没有清除字段的内容。相反,我保留一个哈希值。这样,您仍然可以看到哪些行具有相同的值,并且在导出之间您可以看到是否发生了某些变化,而无需任何人读取实际值。

关于mysql - 如何从删除或损坏敏感数据的 mysql 中转储数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5393673/

相关文章:

mysql - 如何在mySQL中连接2行数据?

php - 查询 6 个表无法从主表回显信息

mysql - 如何更好地组织大型地址数据库?

java - Spring安全和Spring引导

python - GAE channel API 安全吗?底层的实现是什么?

php - 如何使用 jquery 或 PHP 在 Html 中动态添加评论并且该评论不可删除?

php - 我有一个 SQL 查询,它使用 UNION : 链接 3 个表

mysql - 使用logstash从mysql导入数据到elasticsearch

c# - 在运行时执行 C# 或 VB.NET 代码

security - ASP Classic用户登录系统密码安全注意事项?