MySQL用户创建和权限分配

MySQL用户创建和权限分配

用户创建

查看用户

select user,host from user;

创建用户

create user '用户名' @ 'host' identified by '密码';

删除用户

drop user '用户名' @ 'host';

更新host

update user set host = '%' where user = '用户名';

权限分配

查看权限

show grants;

查看某个用户权限

show grants for '用户名'@'host';

格式

GRANT ON 数据库名.表名 TO '用户名'@'localhost' [IDENTIFIED BY '密码'] [WITH GRANT OPTION];

参数

privileges:是一个用逗号分隔的你想要赋予的MySQL用户权限的列表

IDENTIFIED BY '密码' 也是可选的,如果带上,密码是当前用户的密码

WITH GRANT OPTION 是可选的,带上就意味着该用户可以给其他用户分配权限

示例

  1. 给用户 'xxx' 所有数据库所有表的所有权限(超级管理员,和 root 用户一样的权限)
    GRANT ALL ON . TO 'xxx'@'localhost' WITH GRANT OPTION;
  2. 给 'xxx' 用户 'xxxx'数据库下面所有表的查询和修改权限
    GRANT SELECT,UPDATE ON xxxx.* TO 'xxx'@'localhost';

回收权限

使用 REVOKE 把分配权限的 TO 改成 FROM 即可

REVOKE ON 数据库名.表名 FROM '用户名'@'localhost'

刷新数据库

FLUSH PRIVILEGES;

相关推荐
bjzhang751 分钟前
rqlite:一个基于SQLite构建的分布式数据库
数据库·分布式·rqlite
我转的头好晕7 分钟前
EF Core基本使用
数据库·c#·asp.net
小希与阿树14 分钟前
阿里云RAM账号免密登录Java最佳实践
java·数据库·阿里云
da-peng-song18 分钟前
ArcGIS Desktop使用入门(四)——9版本与10版本区别
数据库·arcgis·编辑器
weisian15132 分钟前
中间件--ClickHouse-7--冷热数据分离,解决Mysql海量数据瓶颈
mysql·clickhouse·中间件
长安城没有风44 分钟前
从入门到精通【MySQL】 JDBC
java·mysql
QD.Joker1 小时前
Django ORM 单表操作
数据库·django
Linux运维老纪1 小时前
Linux之 grep、find、ls、wc 命令
linux·运维·服务器·数据库·云计算·运维开发
焱焱枫1 小时前
Oracle 19c部署之数据库软件安装(二)
数据库·oracle
一代...2 小时前
【Redis】Redis基本命令(1)
数据库·redis·缓存