手记

【学习打卡】第6天 MySQL面试指南 第3章

课程名称:MySQL面试指南

课程章节:MySQL如何保证用户账号安全

主讲老师:sqlercn

课程内容:

今天学习的内容包括:

数据库用户管理流程规范

密码管理策略

课程收获:

数据库用户管理流程规范

  • 不能把包含数据库账号密码的文件上传到Git库中
  • 最小权限原则,不过度授权
  • 密码强度策略,数字加字母,注意特殊字符在部分程序中的特殊意义,避免程序无法使用
  • 密码过期原则,MySQL5.7中引入了密码过期设置,使用这个需要程序端支持到期提示,否则有风险
  • 限制历史密码重用原则,MySQL8.0中引入了密码重复使用次数设置

密码管理策略

MySQL 的 mysql.user 表中一个用户的 password_expired 的值默认是 N(No的意思)。
password_expired 字段的类型是 enum(‘Y’,‘N’) 枚举类型,创建表的时候这样定义:

create table mysql.user (
  ...
  `password_expired` enum('N','Y') NOT NULL DEFAULT 'N',
  ...
);

让用户的密码过期,设置用户密码过期后,用户依然可以登录,但执行语句的时候会提示密码已过期。

alter user test@localhost password expire;

修改用户的密码,可以通过 user() 函数来获得当前登录的用户账户。

alter user user() identified by '1234';

0人推荐
随时随地看视频
慕课网APP