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;

相关推荐
Navicat中国3 分钟前
Navicat 视频简介 | 数据管理之数据编辑器
数据库·编辑器·navicat·数据管理
Java后端的Ai之路2 小时前
Text-to-SQL与智能问数完全指南:基本概念、核心原理、Python实战教学及企业项目落地
数据库·python·sql·text-to-sql·智能问数
Elastic 中国社区官方博客2 小时前
Prometheus Remote Write 在 Elasticsearch 中的摄取原理
大数据·数据库·elasticsearch·搜索引擎·信息可视化·全文检索·prometheus
2601_949816682 小时前
Spring boot启动原理及相关组件
数据库·spring boot·后端
2301_782659182 小时前
如何使用Navicat连接云端MariaDB_白名单与实例配置
jvm·数据库·python
2301_803875618 小时前
PHP 中处理会话数组时的类型错误解析与修复指南
jvm·数据库·python
m0_743623928 小时前
c++如何批量修改文件后缀名_std--filesystem--replace_extension【实战】
jvm·数据库·python
2501_914245939 小时前
CSS如何处理CSS变量作用域冲突_利用特定类名重写变量值
jvm·数据库·python
maqr_11010 小时前
MySQL数据库迁移到云端如何保障安全_数据加密与SSL连接配置
jvm·数据库·python
u01091476011 小时前
MySQL如何限制触发器递归调用的深度_防止触发器死循环方法
jvm·数据库·python