zoukankan      html  css  js  c++  java
  • SQL语句实践--DDL&&DCL语句之管理用户

    一、查看当前用户列表

      select user,host from mysql.user;

    二、创建数据库用户

      语法:create user '用户名'@‘主机’ identified by '密码';

      创建一个liuhui的用户,只允许本机登陆,密码是liuhui123

      create user 'liuhui'@'localhost' identified by 'liuhui123';

      创建一个bbs用户,授权10.0.0.0/24网段机器访问

      create user 'bbs'@'10.0.0.%' identified  by 'bbs123';

      登陆测试:

      mysql -ubbs -h 10.0.0.8 -p '密码'                       #异地或者本机登陆bbs用户必须要指定ip

    三、查看用户授权

      使用create创建的用户仅仅只是空用户(即除了可以连接数据库以外,没有任何数据库权限),有关用户授权还必须用grant命令,grant命令还可以同时完成创建用户和授权两种操作

      

      查看用户对应授权权限

      show grants for bbs@'10.0.0.%';  

       USAGE:表示连接权限

    四、删除数据库用户 

      语法:drop user '用户名'@‘主机域’

      删除blog用户:

      drop user 'blog'@'localhost';

      如果使用drop删除不了用户,很可能因为用户或者主机部分是特殊字符内容等,此时用以下方法删除,以bbs用户为例:

      delete from mysql.user where user='bbs' and host='10.0.0.%';

      flush privileges;

       select user ,host from mysql.user where user='bbs';

      bbs用户被成功删除

    五、授权数据库用户

      语法:grant(授权命令) all/all privileges(对应权限) on dbname.*(目标:库和表) to username@localhosst(用户名和客户端主机)identified by 'password' (用户密码);

      例:创建test用户,对oldboy库具备所以权限,允许从localhost登陆数据库,密码是test123;

      grant all privileges on oldboy.* to test@localhost identified by 'test123';

      查看授权用户test的权限

      show grants for 'test'@'localhost';

      例:授权于root同等权限地位的system用户权限

      首先我们来看下root用户都有那些权限:show gants for 'root'@'localhost';

      

      然后创建一个和root一样权限的用户system:grant all on *.* to 'system'@'localhost' identified by 'system123' with grant option;

      

       允许创建代理用户:grant proxy  on ''@'' to 'system'@'localhost' with grant option;

      

      

      根据grant语法,授权局域网内主机可可连接登陆MYSQL

      方法1:命令+百分号匹配法:

      grant all on *.*  to 'test'@'10.0.0.%' identified by '密码';

      第二种方法:命令+子网掩码配置方法:

      grant all on *.* to  'test'@'10.0.0.0/255.255.255.0' identified by '密码';

      注意:不能用10.0.0.0/24来代替10.0.0.0/255.255.255.0

      第三种方法:首先创建用户,然后在授权

      create user 'test'@'10.0.0.%' identified by '密码';

      grant all on *.* to 'test'@'10.0.0.%'

    六、回收权限

      取消用户testd对数据库oldboy的只读(select)权限

      revoke select on oldboy.* from 'test'@'localhost';

      

       

      

      

      

  • 相关阅读:
    BZOJ 1192 鬼谷子的钱袋
    浅谈双连通分量、强连通分量
    BZOJ 1047 理想的正方形
    浅谈单调队列、单调栈
    django ORM之manytomany跨表
    django DateTimeField和DateField和TimeField
    django 一对多的添加记录create 和save 方法,update 更新和save()方法的区别,查询API的方法
    Python生成随机验证码
    obj.t2c.all-------django自动生成第三张多对多关系表中另一张表信息在前端的显示
    Form组件验证之ajax提交数据并显示错误信息
  • 原文地址:https://www.cnblogs.com/liuhui-xzz/p/13515712.html
Copyright © 2011-2022 走看看