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

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

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

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

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

解决方法

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

刷新用户权限

FLUSH PRIVILEGES;

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

更多相关文章

  1. Linux下MYSQL 5.7 找回root密码的问题(亲测可用)
  2. Android(安卓)10 定位问题,获取NMEA(支持5.0~10.0)
  3. 保留用户自定义设置
  4. mybatisplus的坑 insert标签insert into select无参数问题的解决
  5. android用户界面之按钮(Button)教程实例汇
  6. 关于Android(安卓)Studio3.2新建项目Android(安卓)resource link
  7. Android之应用程序基础
  8. Android软键盘适配问题
  9. android用户界面-组件Widget-地图视图MapView

随机推荐

  1. XML入门
  2. android用jsonReader来解析json
  3. JSON-lib框架,转换JSON、XML不再困难
  4. android pull 解析xml方式
  5. XML解析之JAXP案例详解
  6. Apache Commons Configuration读取xml配
  7. Dom4j修改xml文档引入
  8. android sax创建xml文件
  9. java操作properties配置文件
  10. 根据Schema写出XML文档四部曲