新闻动态
新闻动态
NEWS INFORMATION

解决mysql删除用户 bug的问题

发布日期:2022-02-15 09:09 | 文章来源:站长之家

作者在使用mysql添加用户的时候,发现用户名给我写错了

强迫症的我,必须要改过来,但是发现删除用户的时候,命令是成功的

但是在此创建同名用户的时候,会报错,网上查了很多,说这是mysql的官方bug,不知道是作者水平不够没能理解到那个bug,还是真的解决了这个问题,下面和大家分享,欢迎大家一起讨论

删除了user的用户之后 无法再次创造相同的用户名

在mysql 数据库中有一张user表,可以查询到所有的用户和用户信息,删除里面的用户信息以及你赋予那个用户的什么权限就能完全的删除那个用户了

解决方法

注意这里多用户的权限进行了多次的删除之后,发现我创建的时候,这个用户的是% 允许远程连接的,所以最后一次删除成功了

刷新用户权限

FLUSH PRIVILEGES;

这个时候你再次创建同名的用户mysql 就不会报错了

补充:mysql 删除用户(两种实现方案)

drop

drop user XXX;删除已存在的用户,默认删除的是'XXX'@'%'这个用户,如果还有其他的用户如'XXX'@'localhost'等,不会一起被删除。如果要删除'XXX'@'localhost',使用drop删除时需要加上host即drop user 'XXX'@'localhost'。

delete

delete from user where user='XXX' and host='localhost';其中XXX为用户名,localhost为主机名。

区别

drop不仅会将user表中的数据删除,还会删除其他权限表的内容。而delete只删除user表中的内容,所以使用delete删除用户后需要执行FLUSH PRIVILEGES;刷新权限,否则下次使用create语句创建用户时会报错

补充:mysql创建用户报错[Err] 1396 - Operation CREATE USER failed for 'test'@'%'的解决方法

问题:

执行mysql创建用户语句CREATE USER test IDENTIFIED BY 'test'; 报错, 错误信息为

[Err] 1396 - Operation CREATE USER failed for 'test'@'%'

解决步骤:

1.创建过test用户。

2.查询后发现无此用户,则执行FLUSH PRIVILEGES;然后重新执行创建语句。

3.如果还是报错,则执行drop user 'test'@'%';然后重新执行创建语句。

4.创建成功。

可能原因:

1.用户已存在。

2.使用delete语句删除用户后没有刷新权限。

3.用户不存在,但是存在该用户的权限信息。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持本站。如有错误或未考虑完全的地方,望不吝赐教。

美国服务器租用

版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。

实时开通

自选配置、实时开通

免备案

全球线路精选!

全天候客户服务

7x24全年不间断在线

专属顾问服务

1对1客户咨询顾问

在线
客服

在线客服:7*24小时在线

客服
热线

400-630-3752
7*24小时客服服务热线

关注
微信

关注官方微信
顶部