数据库数据安全的九个最佳实践
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 第 5 章 数据库安全 目录 5.1. 保护表 5.2. 保护表字段 5.3. 时间一致性 5.4. 为数据安全而分库 5.5. 内容版本控制,撰改留痕 5.6. 用户/角色认证 5.7. Token 认证 5.8. 数据加密 5.8.1. AES_ENCRYPT / AES_DECRYPT 5.8.2. 加密字段 5.9. 开发加密插件开发 5.1. 保护表 保护表中的数据不被删除,当记录被用户删除时会提示"Permission denied" 权限拒绝 CREATE DEFINER=`root`@`192.168.%` TRIGGER `member_before_delete` BEFORE DELETE ON `member` FOR EACH ROW BEGIN SIGNAL SQLSTATE '45000' SET MESSAGE_TEXT = 'Permission denied', MYSQL_ERRNO = 1001; END 5.2. 保护表字段 通过触发器,使之无法修改某些字段的数据,同时不影响修改其他字段。 DROP TRIGGER IF EXISTS `members`; SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE=''; DELIMITER //