在MySQL数据库中,可以通过使用插件或第三方工具来实现表级加密。
一种可行的方法是使用eCryptfs,它是一个Linux文件系统加密工具,可以在不需要预置加密文件系统(如LUKS)的情况下实现透明加密。
步骤如下:
sudo apt-get install ecryptfs-utils
sudo mount -t ecryptfs ~/secure-data ~/encrypted-data
CREATE TABLE `example` (
`id` int(11) NOT NULL,
`name` varchar(50) DEFAULT NULL,
`age` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=INNODB DEFAULT CHARSET=utf8mb4;
sudo mv /var/lib/mysql/example /home/user/encrypted-data/
sudo ln -s /home/user/encrypted-data/example /var/lib/mysql/example
这样,表的数据存储在加密的文件系统中,可以在MySQL中进行正常的读写操作,并且在文件系统中保持加密状态。