Skip to content

账户与权限模型

用户标识

  • 用户由 用户名@主机 唯一确定,例如 'app'@'%''dba'@'10.0.0.%'
  • 同一用户名在不同主机上是 不同账户,权限独立。

认证插件

  • 8.0 默认 多为 caching_sha2_password;旧客户端连不上时可换插件或升级客户端(仅作了解,生产以安全为先)。
  • 密码存储在系统表中,勿在应用日志中打印连接串。

授权粒度

  • 全局GRANT ... ON *.*
  • 库级ON db_name.*
  • 表级、列级:按需最小化。
  • 常用权限:SELECTINSERTUPDATEDELETECREATEALTERINDEX,管理类 SUPERREPLICATION SLAVE 等仅给运维账号。

示例(理解用)

sql
CREATE USER 'app_ro'@'%' IDENTIFIED BY '强密码';
GRANT SELECT ON myapp.* TO 'app_rw'@'%';
FLUSH PRIVILEGES;

实践原则

应用库使用 独立账号只读副本 用只读账号,服务 分账号,便于审计与回收。详见 账号与授权最小化