6.2.4 Specifying Account Names
- 账户名称
语法:'user_name'@'host_name' 不包含特殊字符(空格)、通配符(%)时,可以不用引号
- 账户保存
保存到user表(全局权限); 其他授权表拥有一致的用户信息(Host、User) 用户名区分大小写,主机名不区分
- 匿名用户
''@'localhost'
- 主机名
支持ip地址(ipv4 & ipv6) 不论是ip地址还是主机名,都可以使用通配符(%、_) 允许ip地址带子网掩码
忽略时,默认'%'
13.7.1 Account Management Statements
- 修改用户
-- 下次连接使用新密码; ALTER USER 'jeffrey'@'localhost' IDENTIFIED BY 'new_password' PASSWORD EXPIRE; -- 指定验证插件并设置密码和有效期; ALTER USER 'jeffrey'@'localhost' IDENTIFIED WITH sha256_password BY 'new_password' PASSWORD EXPIRE INTERVAL 180 DAY; -- 锁定用户 ALTER USER 'jeffrey'@'localhost' ACCOUNT LOCK; ALTER USER 'jeffrey'@'localhost' ACCOUNT UNLOCK; -- 限制连接次数和连接方式 ALTER USER 'jeffrey'@'localhost' REQUIRE SSL WITH MAX_CONNECTIONS_PER_HOUR 20; -- 指定明文密码 ALTER USER 'jeffrey'@'localhost' IDENTIFIED BY 'password'; -- 能加密就加密,不能加密也行 ALTER USER 'jeffrey'@'localhost' REQUIRE NONE; -- 要求加密连接 ALTER USER 'jeffrey'@'localhost' REQUIRE SSL; -- 要求证书加密,无需指定ssl选项 ALTER USER 'jeffrey'@'localhost' REQUIRE X509; -- 立即过期 ALTER USER 'jeffrey'@'localhost' PASSWORD EXPIRE; -- 密码永不过期 ALTER USER 'jeffrey'@'localhost' PASSWORD EXPIRE NEVER; -- 指定过期时间 ALTER USER 'jeffrey'@'localhost' PASSWORD EXPIRE INTERVAL 180 DAY;
-
创建用户
-- 创建用户,设置密码过期 CREATE USER 'jeffrey'@'localhost' IDENTIFIED BY 'new_password' PASSWORD EXPIRE; -- 能加密就加密,不能加密也行 CREATE USER 'jeffrey'@'localhost' REQUIRE NONE; -- 要求建立加密连接 CREATE USER 'jeffrey'@'localhost' REQUIRE SSL;
-
删除用户
DROP USER 'jeffrey'@'localhost';
-
授权
授权操作-- 授权 GRANT ALL ON db1.* TO 'jeffrey'@'localhost'; GRANT ALL ON *.* TO 'admin'@'%' WITH grant option; GRANT SELECT ON db2.invoice TO 'jeffrey'@'localhost'; ALTER USER 'jeffrey'@'localhost' WITH MAX_QUERIES_PER_HOUR 90; -- 查看授权 SHOW GRANTS for 'admin'@'%';
权限定义
权限 备注 ALL [PRIVILEGES]
不包含GRANT OPTION 和 PROXY ALTER
修改表(全局、库、表) ALTER ROUTINE
修改/删除存储例程(全局、库、例程) CREATE
建库、建表(全局、库、表 ) CREATE ROUTINE
创建例程(全局、库) CREATE TABLESPACE
创建、修改、删除表空间、日志文件组(全局) CREATE TEMPORARY TABLES
全局、库 CREATE USER
建用户、删用户、用户改名、收回用户权限(全局) CREATE VIEW
创建、修改视图(全局、库、表) DELETE
全局、库、表 DROP
删库、删表、删视图(全局、库、表) EVENT
EXECUTE
执行存储例程(全局、库、例程) FILE
读、写文件(全局) GRANT OPTION
授权、收回权限(全局、库、表、例程、索引) INDEX
创建索引、删除索引(全局、库、表) INSERT
全局、库、表、列 LOCK TABLES
允许拥有 select 权限用户锁表(全局、库) PROCESS
show processlist PROXY
REFERENCES
创建外键(全局、库、表、列) RELOAD
flush(全局) REPLICATION CLIENT
REPLICATION SLAVE
SELECT
全局、库、表、列 SHOW DATABASES
全局 SHOW VIEW
全局、库、表 SHUTDOWN
SUPER
TRIGGER
全局、库、表 UPDATE
全局、库、表、列 USAGE
“no privileges”
a
MySQL