文件上的mysql加密密钥存储

文件上的mysql加密密钥存储,mysql,Mysql,我在linux服务器上有一个MYSQL服务器。我正在使用AES加密功能将数据存储在DB服务器中。命令如下所示: INSERT into userc (name, town) VALUES ('john',AES_ENCRYPT('nebraska', 'usa2010')); SELECT CAST(AES_DECRYPT(town, 'usa2010') AS CHAR(50)) town_decrypt from userc; 我对这种加密的担心是,访问我的数据所需的一切都在清晰地传输,因

我在linux服务器上有一个MYSQL服务器。我正在使用AES加密功能将数据存储在DB服务器中。命令如下所示:

INSERT into userc (name, town) VALUES ('john',AES_ENCRYPT('nebraska', 'usa2010'));
SELECT CAST(AES_DECRYPT(town, 'usa2010') AS CHAR(50)) town_decrypt from userc;
我对这种加密的担心是,访问我的数据所需的一切都在清晰地传输,因此嗅探器或调试级日志能够捕获所有内容

是否有一种方法可以不在命令中发送密钥,而是将其存储在文件(/home/user/key.txt)中,从而以类似以下方式调用加密:

INSERT into userc (name, town) VALUES ('john',AES_ENCRYPT('nebraska', key1));

其中key1是对存储密钥的文件的引用?

看起来这更像是一个数据库问题,所以我把它贴在那里并得到了一个解决方案。目前正在测试的方案是在C中创建一个用户定义函数(UDF),并将其加载到mysql中。这是用C编写的,可以执行我需要的任何操作,读取文件,并根据它得到的参数从中获取密钥

当然,必须以某种方式保护此文件,以使其不被公开