怎么解决mysql删除用户后再新建该用户仍然具有原来权限的问题

本篇内容主要讲解“怎么解决MySQL删除用户后再新建该用户仍然具有原来权限的问题”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么解决mysql删除用户后再新建该用户仍然具有原来权限的问题”吧!

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名申请雅安服务器托管、营销软件、网站建设、颍上网站维护、网站推广。

所以如果需要减小权限,需要删除原来的用户然后再从新建立一个新用户!

还有,重新建立用户后 (grant select,update on *.* to 'aa'@'%' identified by 'aa';),发现还是能delete 和 insert数据

这是因为除了在user表控制权限外,db表也控制对数据库的权限,需要把这里边的相应数据删除后flush privileges后就可以了!

[@more@]
用户问题:

发现先按下列语句建立用户:

mysql> grant all privileges on *.* to 'aa'@'%' identified by 'aa';
Query OK, 0 rows affected (0.00 sec)

mysql> select * from mysql.user where user = 'aa' G
*************************** 1. row ***************************
                Host: %
                User: aa
            Password: *DEE59C300700AF9B586F9F2A702231C0AC373A13
         Select_priv: Y
         Insert_priv: Y
         Update_priv: Y
         Delete_priv: Y
         Create_priv: Y
           Drop_priv: Y
         Reload_priv: Y
       Shutdown_priv: Y
        Process_priv: Y
           File_priv: Y
          Grant_priv: N
     References_priv: Y
          Index_priv: Y
          Alter_priv: Y
        Show_db_priv: Y
          Super_priv: Y
Create_tmp_table_priv: Y
    Lock_tables_priv: Y
        Execute_priv: Y
     Repl_slave_priv: Y
    Repl_client_priv: Y
    Create_view_priv: Y
      Show_view_priv: Y
 Create_routine_priv: Y
  Alter_routine_priv: Y
    Create_user_priv: Y
            ssl_type:
          ssl_cipher:
         x509_issuer:
        x509_subject:
       max_questions: 0
         max_updates: 0
     max_connections: 0
max_user_connections: 0
1 row in set (0.00 sec)

然后:

mysql> grant select,update on *.* to 'aa'@'%' identified by 'aa';
Query OK, 0 rows affected (0.00 sec)

mysql> select * from mysql.user where user = 'aa' G
*************************** 1. row ***************************
                Host: %
                User: aa
            Password: *DEE59C300700AF9B586F9F2A702231C0AC373A13
         Select_priv: Y
         Insert_priv: Y
         Update_priv: Y
         Delete_priv: Y
         Create_priv: Y
           Drop_priv: Y
         Reload_priv: Y
       Shutdown_priv: Y
        Process_priv: Y
           File_priv: Y
          Grant_priv: N
     References_priv: Y
          Index_priv: Y
          Alter_priv: Y
        Show_db_priv: Y
          Super_priv: Y
Create_tmp_table_priv: Y
    Lock_tables_priv: Y
        Execute_priv: Y
     Repl_slave_priv: Y
    Repl_client_priv: Y
    Create_view_priv: Y
      Show_view_priv: Y
 Create_routine_priv: Y
  Alter_routine_priv: Y
    Create_user_priv: Y
            ssl_type:
          ssl_cipher:
         x509_issuer:
        x509_subject:
       max_questions: 0
         max_updates: 0
     max_connections: 0
max_user_connections: 0
1 row in set (0.00 sec)

发现权限没有改变...
难道这样新加的是在前面的权限基础上再添加权限?

新建个用户看看:


mysql> grant select,update on *.* to 'bb'@'%' identified by 'bb';
Query OK, 0 rows affected (0.00 sec)

mysql> select * from mysql.user where user = 'bb' G
*************************** 1. row ***************************
                Host: %
                User: bb
            Password: *E72B08C841E005B05BD564FA1C18CAFFB9FEF5FC
         Select_priv: Y
         Insert_priv: N
         Update_priv: Y
         Delete_priv: N
         Create_priv: N
           Drop_priv: N
         Reload_priv: N
       Shutdown_priv: N
        Process_priv: N
           File_priv: N
          Grant_priv: N
     References_priv: N
          Index_priv: N
          Alter_priv: N
        Show_db_priv: N
          Super_priv: N
Create_tmp_table_priv: N
    Lock_tables_priv: N
        Execute_priv: N
     Repl_slave_priv: N
    Repl_client_priv: N
    Create_view_priv: N
      Show_view_priv: N
 Create_routine_priv: N
  Alter_routine_priv: N
    Create_user_priv: N
            ssl_type:
          ssl_cipher:
         x509_issuer:
        x509_subject:
       max_questions: 0
         max_updates: 0
     max_connections: 0
max_user_connections: 0
1 row in set (0.00 sec)

mysql> grant delete,insert on *.* to 'bb'@'%' identified by 'bb';
Query OK, 0 rows affected (0.00 sec)

mysql>
mysql> select * from mysql.user where user = 'bb' G
*************************** 1. row ***************************
                Host: %
                User: bb
            Password: *E72B08C841E005B05BD564FA1C18CAFFB9FEF5FC
         Select_priv: Y
         Insert_priv: Y
         Update_priv: Y
         Delete_priv: Y
         Create_priv: N
           Drop_priv: N
         Reload_priv: N
       Shutdown_priv: N
        Process_priv: N
           File_priv: N
          Grant_priv: N
     References_priv: N
          Index_priv: N
          Alter_priv: N
        Show_db_priv: N
          Super_priv: N
Create_tmp_table_priv: N
    Lock_tables_priv: N
        Execute_priv: N
     Repl_slave_priv: N
    Repl_client_priv: N
    Create_view_priv: N
      Show_view_priv: N
 Create_routine_priv: N
  Alter_routine_priv: N
    Create_user_priv: N
            ssl_type:
          ssl_cipher:
         x509_issuer:
        x509_subject:
       max_questions: 0
         max_updates: 0
     max_connections: 0
max_user_connections: 0
1 row in set (0.00 sec)

从上面可以看出,是权限的一个叠加

所以如果需要减小权限,需要删除原来的用户然后再从新建立一个新用户!

还有,重新建立用户后 (grant select,update on *.* to 'aa'@'%' identified by 'aa';),发现还是能delete 和 insert数据

这是因为除了在user表控制权限外,db表也控制对数据库的权限,需要把这里边的相应数据删除后flush privileges后就可以了!

到此,相信大家对“怎么解决mysql删除用户后再新建该用户仍然具有原来权限的问题”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

本文名称:怎么解决mysql删除用户后再新建该用户仍然具有原来权限的问题
路径分享:https://www.cdcxhl.com/article2/jisoic.html

成都网站建设公司_创新互联,为您提供小程序开发商城网站企业网站制作云服务器动态网站网站营销

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

h5响应式网站建设