代码之家  ›  专栏  ›  技术社区  ›  Francesco Borzi

mysql从5.6升级到5.7后,“在用户表中找不到任何匹配行”

  •  0
  • Francesco Borzi  · 技术社区  · 7 年前

    我得到了这个错误:

    在用户表中找不到任何匹配行

    尝试执行我的CI脚本的这一行时:

    GRANT ALL PRIVILEGES ON dbname.* TO 'user'@'host' WITH GRANT OPTION;

    我知道已经有人问过类似的问题:

    Can't find any matching row in the user table

    MySQL Error #1133 - Can't find any matching row in the user table

    https://dba.stackexchange.com/questions/69921/error-code-1133-cant-find-any-matching-row-in-the-user-table

    特别是,在我的例子中,这个问题是在我将travis ci从使用ubuntu 14.04升级到16.04之后开始的,这也改变了 MySQL版本从5.6到5.7

    可能是什么问题?

    1 回复  |  直到 7 年前
        1
  •  2
  •   Barmar    7 年前

    在MySQL 5.7中,他们将默认SQL模式更改为包含 NO_AUTO_CREATE_USER . 这防止了 GRANT CREATE USER 相反您还可以从服务器的SQL模式中删除此设置。

    此更改是为8.0做准备的,8.0删除了