主页 > 知识库 > 解决mysql删除用户 bug的问题

解决mysql删除用户 bug的问题

热门标签:百度竞价排名 网站排名优化 Linux服务器 服务外包 呼叫中心市场需求 AI电销 铁路电话系统 地方门户网站

作者在使用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.用户不存在,但是存在该用户的权限信息。

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

您可能感兴趣的文章:
  • Mysql临时表及分区表区别详解
  • MySQL最佳实践之分区表基本类型
  • MySQL分区表的基本入门教程
  • MySQL优化之分区表
  • MySQL对window函数执行sum函数可能出现的一个Bug
  • MySQL关于exists的一个bug
  • CentOS 安装 PHP5.5+Redis+XDebug+Nginx+MySQL全纪录
  • 关于MySQL分区表的一个性能BUG

标签:湘潭 湖南 崇左 黄山 衡水 兰州 仙桃 铜川

巨人网络通讯声明:本文标题《解决mysql删除用户 bug的问题》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266