Bug #1607 allow for DB encryption i.e. database, Table and Column encryption
Submitted: 20 Oct 2003 6:51 Modified: 25 Dec 2006 9:30
Reporter: Ralf Hauser Email Updates:
Status: Verified Impact on me:
None 
Category:MySQL Server Severity:S4 (Feature request)
Version:any OS:Any (any)
Assigned to: CPU Architecture:Any

[20 Oct 2003 6:51] Ralf Hauser
Description:
MySQL could be a lot more usable in commercial environments if there was the possibility to have DB content encrypted by Table or by Column.

I am aware that this is certainly not an easy topic (see also http://lists.mysql.com/mysql/101724) I can expect to be solved in the short time, but if I could say that MySQL DBMS can do that, it certainly is a very good selling argument when proponing to choose MySQL for a professional project even if those features are not used in the beginning and perhaps never since the design minimized the need to store sensitive data altoghether or due to performance reasons...

For the related topic of password security on the windows mysql version, see http://bugs.mysql.com/bug.php?id=784.

More somewhat related discussion I found: http://lists.mysql.com/mysql/140954

How to repeat:
.

Suggested fix:
.
[20 Oct 2003 7:03] Ralf Hauser
oops, column encryption is probably handled by http://www.mysql.com/doc/en/Miscellaneous_functions.html such as AES_ENCRYPT, but table encryption still remains needed!

Also, some hints, how to protect the keys outside mysql would be useful in page Miscellaneous_functions.html
[25 Dec 2006 9:30] Sveta Smirnova
Thank you for the reasonable feature request.

Right now you can use VIEW + TRIGGERS + STORED PROCEDURES to realize table encryption functionality.
[13 Oct 2007 13:21] Steve OA
You can use commercial softwares for the same purpose e.g. http://solutions.mysql.com/solutions/item.php?id=431
[13 Oct 2007 13:22] Steve OA
i.e. Security-GENERAL from www.packetgeneral.com
[29 Dec 2017 21:01] Daniƫl van Eeden
In MySQL 5.7 there is tablespace encryption.
https://dev.mysql.com/doc/refman/5.7/en/innodb-tablespace-encryption.html

MySQL also has AES_ENCRYPT() and AES_DECRYPT() which can be used as column encryption.
https://dev.mysql.com/doc/refman/5.7/en/encryption-functions.html

MySQL Enterprise has additional encryption capabilities:
https://www.mysql.com/products/enterprise/encryption.html
https://www.mysql.com/products/enterprise/tde.html