时间:2021-05-23
作者在使用mysql添加用户的时候,发现用户名给我写错了
强迫症的我,必须要改过来,但是发现删除用户的时候,命令是成功的
但是在此创建同名用户的时候,会报错,网上查了很多,说这是mysql的官方bug,不知道是作者水平不够没能理解到那个bug,还是真的解决了这个问题,下面和大家分享,欢迎大家一起讨论
在mysql 数据库中有一张user表,可以查询到所有的用户和用户信息,删除里面的用户信息以及你赋予那个用户的什么权限就能完全的删除那个用户了
注意这里多用户的权限进行了多次的删除之后,发现我创建的时候,这个用户的是% 允许远程连接的,所以最后一次删除成功了
刷新用户权限
FLUSH PRIVILEGES;这个时候你再次创建同名的用户mysql 就不会报错了
补充: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创建用户报错[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.用户不存在,但是存在该用户的权限信息。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
问题:mysql存放的数据文件,分区容量较小,目前已经满,导致mysql连接不上,解决方案:1、删除分区里一个不需要用的数据,如:日志文件等(解决不了根本问题)
一,问题描述:MysqlERROR1698(28000)解决,新装了mysql-server-5.7,登录为这一问题,普通用户不能进mysql,只有root用户
怎样解决MySQL5016的乱码问题?本文给出了解决方法:问:怎样解决MySQL5.0.16的乱码问题?答:MySQL5.0.16的乱码问题可以用下面的方法解决
这里主要用了mysql的一个BUG:http://bugs.mysql.com/bug.php?id=8652groupingoncertainpartsoft
先看解决方案#------------mysqlroot用户无法赋权问题解决--------1,登录mysql-uroot-p2,usemysql;选择mysq