这篇文章主要为大家详细介绍了解决MySQL删除用户 bug的问题,具有一定的参考价值,可以用来参考一下。
感兴趣的小伙伴,下面一起跟随四海网的小玲来看看吧!
作者在使用mysql添加用户的时候,发现用户名给我写错了
强迫症的我,必须要改过来,但是发现删除用户的时候,命令是成功的
但是在此创建同名用户的时候,会报错,网上查了很多,说这是mysql的官方bug,不知道是作者水平不够没能理解到那个bug,还是真的解决了这个问题,下面和大家分享,欢迎大家一起讨论
在mysql 数据库中有一张user表,可以查询到所有的用户和用户信息,删除里面的用户信息以及你赋予那个用户的什么权限就能完全的删除那个用户了
注意这里多用户的权限进行了多次的删除之后,发现我创建的时候,这个用户的是% 允许远程连接的,所以最后一次删除成功了
刷新用户权限
代码如下:
FLUSH PRIVILEGES;
解决MySQL删除用户 bug的问题
这个时候你再次创建同名的用户mysql 就不会报错了
drop user XXX;删除已存在的用户,默认删除的是'XXX'@'%'这个用户,如果还有其他的用户如'XXX'@'localhost'等,不会一起被删除。如果要删除'XXX'@'localhost',使用drop删除时需要加上host即drop user 'XXX'@'localhost'。
delete from user where user='XXX' and host='localhost';其中XXX为用户名,localhost为主机名。
drop不仅会将user表中的数据删除,还会删除其他权限表的内容。而delete只删除user表中的内容,所以使用delete删除用户后需要执行FLUSH PRIVILEGES;刷新权限,否则下次使用create语句创建用户时会报错。
执行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.用户不存在,但是存在该用户的权限信息。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持四海网。如有错误或未考虑完全的地方,望不吝赐教。
本文来自:http://www.q1010.com/177/19357-0.html
注:关于解决MySQL删除用户 bug的问题的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。
关键词:
四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。