千家信息网

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

发表于:2025-11-06 作者:千家信息网编辑
千家信息网最后更新 2025年11月06日,本篇内容主要讲解"怎么解决mysql删除用户后再新建该用户仍然具有原来权限的问题",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么解决mysql删除用户后
千家信息网最后更新 2025年11月06日怎么解决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删除用户后再新建该用户仍然具有原来权限的问题"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

用户 权限 数据 问题 控制 内容 数据库 还是 这是 学习 实用 更深 兴趣 基础 实用性 实际 操作简单 方法 是在 更多 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 用友服务器备份数据 凡科科技互联网有限公司 linux 服务器乱码 网吧网络安全大检查 未转变者在哪里找服务器 俄罗斯最新公布的数据库 软件开发风险数据 网络安全留言有哪些 计算机网络技术职业倾向 杨浦区特定软件开发服务产品介绍 临夏州网络安全知 湖南郴州学电脑软件开发 密码学与网络安全课程设计 王者登陆游戏显示服务器未响应 冒险岛修改数据库不生效 淮北软件开发 泽思网络安全教育 数据库2008版答案 各个运营商5g网络技术区别 科技发展互联网发展 天龙八部手游互通属于哪个服务器 数据库技术人谈趋势 核心频率最高的服务器cpu 监控服务器密码忘了 dell服务器主板双cpu 网络安全数据可视化工具研究 服务器rps策略是什么意思 达梦数据库激活服务端还是客户端 软件定义网络技术是做什么的 文本文字在数据库当中用什么类型
0