MySQL 用户管理
大约 4 分钟...
新建用户
CREATE USER 'username'@'host' IDENTIFIED BY 'password';| 属性名 | 含义 |
|---|---|
username | 登录用户名 |
host | 指定可访问的 ip,如果指定所有 ip 都能访问,将其设为通配符 % 即可。 |
password | 登录密码,密码为空表示无需密码 |
CREATE USER 'demouser'@'%' IDENTIFIED BY '123456';用户授权赋予
GRANT privileges ON database.tablename TO 'username'@'host';| 属性名 | 含义 |
|---|---|
privileges | 用户的操作权限,如 SELECT,INSERT,UPDATE 等,如果要授予所的权限则使用 ALL。 |
database | 如果不指定数据库,直接 . 即可,如果指定数据库但不指定表名,则 database.* 即可。 |
username | 登录用户名 |
host | 指定可访问的 ip,如果指定所有 ip 都能访问,将其设为通配符 % 即可。 |
GRANT SELECT,UPDATE ON demodb.demotable TO "demouser"@'%';用户权限撤销
REVOKE privileges ON database.tablename FROM 'username'@'host';撤销(revoke)的和授予(grant)的基本一样:
GRANT...ON...TO
REVOKE...ON...FROM
REVOKE SHOW VIEW ON demodb.demotable FROM "demouser"@'%';删除用户
DROP USER 'username'@'host';修改用户密码
-- 该语法在 mysql5.7 已过时,在 mysql8.0 已删除
SET PASSWORD FOR 'username'@'%' = PASSWORD('newPassword');
-- 推荐用 alter user 代替 set password
ALTER USER demouser IDENTIFIED BY 'auth_string';密码过期和锁定用户
1、关于密码过期
在 MySQL5.6.6 版本起,增加了 password_expired 功能,它允许设置 MySQL 数据库用户的密码过期时间。这个特性已经添加到 mysql.user 数据表,它的默认值是“N”,表示已禁用密码过期功能
强制设置为密码过期:
ALTER USER 'username'@'%' PASSWORD EXPIRE;强制设置密码过期后,虽然能够登陆,但是一切权限都为空了。
2、关于 mysql5.7 锁定用户
在创建的时候锁定用户:
CREATE USER 'username'@'host' account UNLOCK;已存在的时候锁定用户:
ALTER USER 'username'@'%' ACCOUNT LOCK;解锁账号:
ALTER USER 'username'@'%' ACCOUNT UNLOCK;权限常用关键字
| 权限 | 作用范围 | 作用 |
|---|---|---|
| all | 服务器 | 所有权限 |
| select | 表列 | 选择行 |
| insert | 表列 | 插入行 |
| update | 表列 | 更新行 |
| delete | 表 | 册除行 |
| create | 数据库 表索 | 创建 |
| drop | 数据库、表视图 | 册除 |
| reload | 服务器 | 允许使用 flush 语句 |
| shutdown | 服务器 | 关闭服务 |
| process | 服务器 | 查看线程信息 |
| file | 服务器 | 文件操作 |
| grant option | 数据库、表、存储过程 | 授杈 |
| references | 数据库 表 | 外键约束的父表 |
| index | 表 | 创建/删除索引 |
| alter | 表 | 侈攻表结构 |
| show databases | 服务器 | 查看数据库名称 |
| super | 服务器 | 超级权限 |
| create temporary tables | 表 | 创建临时表 |
| lock tables | 数据库 | 锁表 |
| execute | 存储过程 | 执行 |
| replication client | 服务器 | 允许查看主/从/二进制日志状态 |
| replication slave | 服务器 | 主以复制 |
| create view | 初图 | 创建视图 |
| show view | 初图 | 查看视图 |
| create routine | 存储过程 | 创建存储过程 |
| alter routine | 存储过程 | 修改/删除存储过程 |
| create user | 服务器 | 创建用户 |
| event | 数据库 | 创建/ 更改/删除/查看車件 |
| trigger | 表 | 觖岌器 |
| create tablespace | 服务器 | 创建/更改/删除表空间/日志文件 |
| proxy | 服务器 | 代理成为其它用户 |
| usage | 服务器 | 没有权限 |
参考:







