mysql - 如果我在 MySQL 中(而不是在应用程序中)进行加密/解密,是否真的会记录明文?

标签 mysql encryption innodb

我正在使用 InnoDB MySQL 引擎。

我在存储过程中进行加密,然后写入表。

它似乎会将低级更改记录到数据库中。该数据已经加密(如果需要的话)。

据我了解,有两种不同类型的日志可以记录对数据库的更改:

  1. 重做日志(ib_logfile 组),用于在发生崩溃时修复未完成的事务。

  2. 二进制日志,用于复制和从备份恢复。

    (来源:http://dev.mysql.com/doc/refman/5.6/en/glossary.html#glos_ib_logfile)

谢谢。

编辑:

找到一个关于二进制日志的好链接:http://dev.mysql.com/doc/refman/5.6/en/binary-log.html

但我还是想知道重做日志。

最佳答案

也许吧。如果您的 MySQL 服务器设置为将所有语句记录到常规查询日志中,或者如果您启用了二进制日志记录但未设置为使用基于行的格式,则明文和 key 将记录在那里。

此外,在数据库中进行加密/解密可能会将您的数据暴露给可以修改存储过程的攻击者。这通常不是一个好主意;我会避免它。

关于mysql - 如果我在 MySQL 中(而不是在应用程序中)进行加密/解密,是否真的会记录明文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8014290/

相关文章:

php - Laravel 分页将数据附加到一个变量中,并将其他数据附加到另一个变量中

php - Mysql - 如何执行此 sql

java - android和php之间的非对称加密

mysql - 为什么 InnoDB 对 COUNT(*) 进行全面扫描?

mysql 错误代码 1093 : You can't specify target table for update in FROM clause

sql - SSIS包的安全部署

ruby-on-rails - 错误率: attr_encrypted assignment doesn't get written?

mysql - 使用唯一的多列索引表的最佳方法?

mysql - Magento 让 MySQL 每天崩溃 1 到 2 次

MySQL:选择与多个ID匹配的所有记录