Suppose I need to encrypt certain table-fields of a MySQL database. Additionally, I need to search some of those fields I did encrypt.
How would one search those fields anyway?
Decrypting each record step by step is no option: Suppose I have multiple of thousands of records. It would take too much time and space to decrypt each record and check if each single record matches the search.
Adding further details to the database schema would be OK, since I'm about to implement a new application. Furthermore, I need to extend applications currently running in production. But even for those application, adding further details would be OK.
Encryption is the kernel of this question.
Access restrictions, as proposed by some answers, already apply - but do not fit the formal requirement to encrypt data.
This formal requirement is not Payment Card Industry Data Security Standard [PCI].