MySQL数据库创建用户是报错(ERROR 1396 (HY000): Operation CREATE USER failed)

问题场景:

今天在练习数据基本操作命令的时候发现在创建一个新用户的时候出现报错:ERROR 1396 (HY000): Operation CREATE USER failed for ‘chaochao’@‘127.0.0.1’,检查语句没有任何语法问题


问题描述:

在使用create user 命令创建用户的时候系统报错:ERROR 1396 (HY000): Operation CREATE USER failed for ‘chaochao’@‘127.0.0.1’

mysql> select user,host,password from mysql.user;
+--------+-------------------+-------------------------------------------+
| user   | host              | password                                  |
+--------+-------------------+-------------------------------------------+
| root   | localhost         |                                           |
| root   | vlnx136128.rc.com |                                           |
| root   | 127.0.0.1         |                                           |
| root   | ::1               |                                           |
+--------+-------------------+-------------------------------------------+
4 rows in set (0.00 sec)

mysql> create user chaochao@'127.0.0.1' identified by 'cc888';
ERROR 1396 (HY000): Operation CREATE USER failed for 'chaochao'@'127.0.0.1'

原因分析:

出现问题后往前看执行的sql命令,发现前面曾经创建过一个与chaochao同名的用户,并且使用 delete from 命令对该用户在user表里的记录进行了删除操作,实现与drop user 差不多的作用,但是却给后面新建用户埋下了个大坑
mysql> create user chaochao@'127.0.0.1' identified by 'cc888';
Query OK, 0 rows affected (0.00 sec)

mysql> select user,host,password from mysql.user;
+----------+-------------------+-------------------------------------------+
| user     | host              | password                                  |
+----------+-------------------+-------------------------------------------+
| root     | localhost         |                                           |
| root     | vlnx136128.rc.com |                                           |
| root     | 127.0.0.1         |                                           |
| root     | ::1               |                                           |
| chaochao | 127.0.0.1         | *099EBCAAFC559454E50CE58D22E0FFA7F193C759 |
+----------+-------------------+-------------------------------------------+
5 rows in set (0.00 sec)

mysql> delete from mysql.user where user='chaochao';
Query OK, 1 row affected (0.00 sec)

mysql> select user,host,password from mysql.user;
+--------+-------------------+-------------------------------------------+
| user   | host              | password                                  |
+--------+-------------------+-------------------------------------------+
| root   | localhost         |                                           |
| root   | vlnx136128.rc.com |                                           |
| root   | 127.0.0.1         |                                           |
| root   | ::1               |                                           |
+--------+-------------------+-------------------------------------------+
4 rows in set (0.00 sec)

解决方案:

使用 drop user 命令对该用户(chaochao@‘127.0.0.1)进行清理
mysql> drop user chaochao@'127.0.0.1';
Query OK, 0 rows affected (0.00 sec)
然后再重新执行下创建新用户的命令,发现命令可以成功执行了
mysql> create user chaochao@'127.0.0.1' identified by 'cc888';
Query OK, 0 rows affected (0.00 sec)

mysql> select user,host,password from mysql.user;
+----------+-------------------+-------------------------------------------+
| user     | host              | password                                  |
+----------+-------------------+-------------------------------------------+
| root     | localhost         |                                           |
| root     | vlnx136128.rc.com |                                           |
| root     | 127.0.0.1         |                                           |
| root     | ::1               |                                           |
| chaochao | 127.0.0.1         | *099EBCAAFC559454E50CE58D22E0FFA7F193C759 |
+----------+-------------------+-------------------------------------------+
5 rows in set (0.00 sec)

希望这个分享能帮到和我遇到同样问题的伙伴们,谢谢大家的观看。欢迎伙伴们留言评论吖~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值