首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么MySQL不喜欢用户'a'@'b‘当我刚刚把它们从mysql.user中丢弃的时候?

为什么MySQL不喜欢用户'a'@'b‘当我刚刚把它们从mysql.user中丢弃的时候?
EN

Stack Overflow用户
提问于 2010-09-10 14:38:13
回答 2查看 455关注 0票数 2

我就是这么做的。

代码语言:javascript
复制
mysql> CREATE USER 'matrix'@'%.something.com' IDENTIFIED BY 'weak';
ERROR 1396 (HY000): Operation CREATE USER failed for 'matrix'@'%.something.com'
mysql> CREATE USER 'foo'@'%.something.com' IDENTIFIED BY 'weak';
Query OK, 0 rows affected (0.00 sec)

这就是我最后的结局:

代码语言:javascript
复制
mysql> select user,host from mysql.user;
+------------------+--------------------+
| user             | host               |
+------------------+--------------------+
| auth             | %.something.com    |
| foo              | %.something.com    |
| submit           | %.something.com    |
| testcase         | %.something.com    |
| version          | %.something.com    |
| root             | 127.0.0.1          |
| root             | this.something.com |
| debian-sys-maint | localhost          |
| master           | localhost          |
| root             | localhost          |
+------------------+--------------------+
10 rows in set (0.00 sec)

问题似乎是,我通过DELETE FROM mysql.user WHERE User IN (%s);删除了用户,以解决我不知道帐户是否存在的问题。

我的(丑陋的)解决方案,将DELETE FROM mysql.user WHERE...替换为:

代码语言:javascript
复制
DELIMITER //
CREATE PROCEDURE dropuserif(u VARCHAR(32), h VARCHAR(64))
BEGIN
  DECLARE s INT;
  SELECT COUNT(*) INTO s FROM mysql.user WHERE user = u AND host = h;
  IF s > 0 THEN
    BEGIN
      SET @d = CONCAT("DROP USER '", u, "'@'", h, "';");
      PREPARE stmt_name FROM @d;
      EXECUTE stmt_name;
      DEALLOCATE PREPARE stmt_name;
    END;
  END IF;
END//
DELIMITER ;
EN

回答 2

Stack Overflow用户

发布于 2010-09-10 14:49:07

对“错误1396”的网络搜索会显示这个错误报告

原因似乎是以前删除的用户条目仍然隐藏在数据库中,并且阻止了同名新帐户的创建。

在第一个语句之前尝试一个FLUSH PRIVILEGES;,然后再运行它们。

票数 2
EN

Stack Overflow用户

发布于 2010-09-10 14:53:01

期待这里在这个问题上有一个好的开端

你不只是搜索“mysql ERROR 1396”?/snark是有什么原因的吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3685487

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档