解决 MySQL 中的错误 1396 (HY000):对“用户”'@'localhost' 执行操作 DROP USER 失败?
当您以 localhost 的身份删除用户而使用“%”创建用户时,会发生此错误。
让我们使用“%”创建用户,并以 localhost 的身份删除用户。语法如下
CREATE USER 'yourUserName'@'%' IDENTIFIED BY 'yourPassword';
让我们使用上述语法创建一个用户。创建用户的查询如下
mysql> CREATE USER 'Jack'@'%' IDENTIFIED BY '1234'; Query OK, 0 rows affected (0.26 sec)
检查用户是否已成功创建
mysql> select user,host from MySQL.user;
以下是其输出
+------------------+-----------+ | user | host | +------------------+-----------+ | Jack | % | | Manish | % | | User2 | % | | mysql.infoschema | % | | mysql.session | % | | mysql.sys | % | | root | % | | Adam Smith | localhost | | User1 | localhost | | am | localhost | +------------------+-----------+ 10 rows in set (0.00 sec)
查看上述示例输出,我们有一个名为“Jack”的用户,主机为“%”。每当您尝试以 localhost 的身份删除用户时,您会收到如下所示的错误
mysql> DROP USER 'Jack'@'localhost'; ERROR 1396 (HY000): Operation DROP USER failed for 'Jack'@'localhost'
让我们删除上述主机为“%”的用户。查询如下
mysql> DROP USER 'Jack'@'%'; Query OK, 0 rows affected (0.19 sec)
检查用户是否已从 MySQL.user 表中删除。查询如下
mysql> select user,host from MySQL.user;
以下是其输出,显示用户 Jack 已成功删除
+------------------+-----------+ | user | host | +------------------+-----------+ | Manish | % | | User2 | % | | mysql.infoschema | % | | mysql.session | % | | mysql.sys | % | | root | % | | Adam Smith | localhost | | User1 | localhost | | am | localhost | +------------------+-----------+ 9 rows in set (0.00 sec)
广告