继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

魅影骑士_0001
关注TA
已关注
手记 14
粉丝 1
获赞 0

课程名称: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';

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP