• 学习计划 mysql 用户管理与权限


    最近在学习数据库的 主从复制 里面涉及到了关于用户及其管理权限的赋予,之前一直没有认真的学习这个。

    现在想具体的学习一下。

    --

    为什么 数据库 要实现多用户管理?

    举个最简单的例子,你需要和第三方做对接,建立了一个中间库,你不能让对方去操作所有的库吧,

    MySQL 默认 root 用户,但是这个用户权限太大,一般只在管理数据库时候才用。

    --

    如何新建和删除用户?

    新建一个用户
    CREATE USER 'username'@'host' IDENTIFIED BY 'password';
      
      user_name:要创建用户的名字。
      host:表示要这个新创建的用户允许从哪台机登陆,如果只允许从本机登陆,则 填 ‘localhost’ ,如果允许从远程登陆,则填 ‘%’
      password:新创建用户的登陆数据库密码,如果没密码可以不写。

     这时虽然建立了新用户,但是并未分配给这个用户相对应的权限。所以直接使用这个账号登录的话报错。

    删除一个用户
    DROP USER username@localhost; 

    --

    那如何给用户授予我们的权限呢?

    GRANT privileges ON databasename.tablename TO 'username'@'host';
      
      privileges:表示要授予什么权力,例如可以有 select, insert,delete,update等,如果要授予全部权力,则填 ALL
      databasename.tablename:表示用户的权限能用在哪个库的哪个表中,如果想要用户的权限很作用于所有的数据库所有的表,则填 *.*,*是一个通配符,表示全部。
      'username'@'host':表示授权给哪个用户。

    如何撤销我们的权限呢?

    REVOKE privileges ON database.tablename FROM 'username'@'host';
    例如:REVOKE SELECT ON *.* FROM 'zje'@'%';

     --

    修改密码呢?

    SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');
    

    --

    具体的权限都可以在 mysql.user里面看到。之后学习到这个其他方面的在回来补充。

    --

    参考:

      MYSQL的创建用户,授权用户,删除用户,查看用户

  • 相关阅读:
    js-jQuery对象与dom对象相互转换
    django模板{%for%}中的forloop的应用
    ubuntu MySQL数据库输入中文乱码 解决方案
    多线程下的神奇的IOCP
    类库服务寄宿到WebHost
    细说Asp.Net WebAPI消息处理管道
    项目发布Debug和Release版的区别
    linux yum命令详解
    Linux系统如何查看版本信息
    Linux查看物理CPU个数、核数、逻辑CPU个数
  • 原文地址:https://www.cnblogs.com/25-lH/p/8763362.html
Copyright © 2020-2023  润新知