1.4 KiB
1.4 KiB
用户权限
Concept Information
- Type: Concept
- Status: Active
- Source: mysql-mariadb-数据库详细信息
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
- 最小权限:只授予应用程序所需的最小权限
- 来源隔离:生产环境避免使用
%通配符 - 权限分离:不同用途使用不同账户
Related Concepts
Related Entities
- MariaDB — 权限配置实践