• Mysql004:用户管理


    前言:本章节讲解的是mysql中的用户管理,包括(管理数据用户)、(控制数据库的访问权限)。

    目录

    1. 查询用户

    2. 创建用户

    3. 修改用户密码

    4. 删除用户

    5. 权限控制

    1. 查询用户

    mysql数据库中, 用户信息都是存储在一个名为“mysql”数据库中的“user”表中的。我们通过切换数据库, 查询user表来查询用户,如下:

    user mysql;

    select * from user;

    Host:主机(决定了用户可以在哪台电脑连接数据库,localhost代表本机)

    User:用户名(登录数据库时用到的用户名)

    2. 创建用户

    create user '用户名'@'主机IP' identified by '密码';

    -- 创建一个只能在本机上访问数据库的用户

    create user 'user_name'@'localhost' identified by '123456';

    -- 创建一个可以在任意电脑上访问数据库的用户(将主机IP该为%即可)

    create user 'user_name'@'%' identified by '123456';

    创建用户时, 默认是没有权限的,需要赋予权限,后面会讲解。创建的用户登录时可能会提示:Public Key Retrieval is not allowed, 解决办法请看该文章:https://mp.csdn.net/mp_blog/creation/editor/133103310

    3. 修改用户密码

    alter user '用户名'@'主机IP' identified with mysql_native_password by '新密码';

    -- MySQL 8.0 版本及以上

    SET PASSWORD FOR '用户名'@'主机IP' = '新密码';

    4. 删除用户

    drop user '用户名'@'主机IP';

    5. 权限控制

    mysql中定义很多种权限,但是常用只有以下几种

    权限关键字权限说明
    ALL,ALL PRIVILEGES赋予用户所有权限,包括数据库和表级别的权限
    SELECT查询表数据权限
    INSERT插入表数据权限
    UPDATE修改表数据权限
    DELETE删除表数据权限
    CREATE创建数据库、表权限
    DROP删除数据库、表、视图权限
    GRANT OPTION允许用户将自己拥有的权限授予其他用户
    ALTER允许用户修改已有的数据库或表结构
    SHOW DATABASES允许用户查看所有数据库的列表
    SHOW VIEW允许用户查看视图的定义

    5.1 查询权限

    SHOW GRANTS FOR '用户名'@'主机名';

    示例:

    show grants for 'user_name'@'localhost';

    5.2 授予权限

    GRANT 权限列表 ON 数据库名.表名 TO '用户名'@'主机名';

    示例:给user_name用户,赋予test数据库下的students表所有权限

    GRANT ALL ON test.students TO 'user_name'@'%';

    示例:给user_name用户,赋予(所有数据库)(所有表)的(查询权限),所有用*代替

    GRANT ALL ON *.* TO 'user_name'@'%';

    5.3 撤销权限

    REVOKE 权限列表 ON 数据库名.表名 FROM '用户名'@'主机名';

    举例:这个依葫芦画瓢,很简单的啦,去除user_name用户的test库students表的所有权限。

    REVOKE ALL ON test.students FROM 'user_name'@'%';

  • 相关阅读:
    瑞吉外卖部署篇---Nginx
    如何修改jvm启动参数
    信号处理琐碎知识点 — OFDM 正交频分复用
    kubernetes_CoreDNS全解析
    2023最新SSM计算机毕业设计选题大全(附源码+LW)之java基于自组网的空地一体化信息系统mf392
    EdgeX Foundry 边缘物联网中间件平台
    接口自动化测试框架(pytest+allure+aiohttp+ 用例自动生成)
    1097 矩阵行平移(语文题,选做)
    统计数(C++)
    线程交替输出(你能想出几种方法)
  • 原文地址:https://blog.csdn.net/qq_42623386/article/details/133048253