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

v1l68za4  于 2021-06-15  发布在  Mysql
关注(0)|答案(1)|浏览(266)

我得到这个错误:
在用户表中找不到任何匹配的行
尝试执行ci脚本的这一行时: GRANT ALL PRIVILEGES ON dbname.* TO 'user'@'host' WITH GRANT OPTION; 我知道已经有人问过类似的问题:
在用户表中找不到任何匹配的行
mysql错误#1133-在用户表中找不到任何匹配的行
https://dba.stackexchange.com/questions/69921/error-code-1133-cant-find-any-matching-row-in-the-user-table
然而,他们都没有解决我的问题。
特别是,在我的例子中,这个问题是在我将travis ci从使用ubuntu14.04升级到16.04之后开始的,这也将mysql版本从5.6改为5.7。
因此,我确信同样的代码适用于MySQL5.6,但不适用于MySQL5.7。
有什么问题吗?

sshcrbum

sshcrbum1#

在MySQL5.7中,他们将默认的sql模式改为包含 NO_AUTO_CREATE_USER . 这样可以防止 GRANT 从创建用户,所以你必须使用 CREATE USER 相反。也可以从服务器的sql模式中删除此设置。
此更改是为8.0做准备的,它删除了 GRANT 完全创建用户。

相关问题