用户管理 添加/删除/授权用户

 MySql 管理系统用户

  mysql系统中的超级用户 root (安装mysql时系统指定)

  超级用户root像个皇帝,拥有mysql数据库所有的权限;

  新建的普通用户,在对数据库的操作上,没有任何权利,需要超级用户root授予权限;

    授予的权限一般是select,insert,update,delete,create,alert,drop等

  没有授权下,普通用户不能操作数据库,比如:创建数据库,创建数据表等

  所有的用户数据,都在mysql.user数据表中

  通过查看user数据表,可以看到普通用户拥有的权限


 一,创建普通用户

  即在user数据表中插入数据

  方式一:

    insert into user ( Host,User,Password )  values  ( 'localhost','任意' ,password(123') ); 

    flush  privileges; 

    注意:

      1. Host  设置为 localhost                表示该用户只能本地登陆该数据库; 

       Host  设置为 %                            表示任意一台电脑都可登陆,用于远程登陆

         Host   设置为指定ip                      表示指定电脑登陆

      2. password()函数用于密码加密

      3. flush privileges;用于刷新系统授权表;

       必须执行该语句,否则新添的普通用户不能登陆,除非重启数据库;

  方式二:

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

    也是在user表中添加数据,这种方式,密码是经过password()函数加密的;

    主机名设置同方式一中的Host


二,删除用户

  1.方式一

    直接对user表操作,在表中删除数据

    

  2.方式二

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

  两种方式的区别:

    方式一:仅仅将user表中的相关用户数据删除

    方式二:一方面删除user表中相关用户数据,另一方面,删除其他权限表中的相关内容

三,用户切换

  先退出;再登陆;


 root授权给普通用户

  有两种方式

    1. 权限列表       

      在创建普通用户时,在对应的权限列表中,设置'Y'即可;

      权限列表,通过查看mysql.user即可; show columns from user;

    2. grant 语句授权

      grant    权限    数据库名.*    to   用户名@主机名 identified  by  用户密码;

      注意:

        1.权限可参见权限列表

        2.从语句中可以看出,必须是root下创建数据库,授权给普通用户;

           一般不开放创建数据库的权限;阿里云数据库亦是如此;

           这些权限仅仅是操作数据库中数据表的权限;普通用户对数据没有权限;

      授予用户对数据库的部分权限

        grant create,select,insert,update,delete on 数据库.*   to  用户名@主机名   identified by 用户密码;

      授予用户对数据库全部权限

        grant all privileges on 数据库.* to 用户名@主机名  identified by 用户密码;

 

原文地址:https://www.cnblogs.com/RocketV2/p/5381667.html