Files
nexus/wiki/concepts/用户权限.md
2026-04-22 04:03:04 +08:00

1.4 KiB
Raw Blame History

用户权限

Concept Information

Definition

MariaDB/MySQL 使用 username@host 组合作为权限控制的基本单元,同一个用户名在不同主机来源下可以拥有完全不同的权限级别。

Permission Model

Host Pattern Meaning
localhost 仅允许本机通过 socket 连接
127.0.0.1 仅允许本机通过 TCP/IP 连接
% 允许任意主机连接
192.168.1.% 允许指定网段连接
%.example.com 允许指定域名后缀连接

Common Example

-- 本地管理员(仅本机 socket
CREATE USER 'root'@'localhost' IDENTIFIED BY 'password';

-- 远程访问用户(任意主机)
CREATE USER 'shenwei'@'%' IDENTIFIED BY '!Abcde12345';
GRANT ALL PRIVILEGES ON *.* TO 'shenwei'@'%' WITH GRANT OPTION;

-- 限制特定网段
CREATE USER 'app'@'192.168.3.%' IDENTIFIED BY 'password';
GRANT SELECT, INSERT, UPDATE ON mydb.* TO 'app'@'192.168.3.%';

Key Principles

  1. 最小权限:只授予应用程序所需的最小权限
  2. 来源隔离:生产环境避免使用 % 通配符
  3. 权限分离:不同用途使用不同账户