我得到这个错误:
在用户表中找不到任何匹配的行
尝试执行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。
有什么问题吗?
1条答案
按热度按时间sshcrbum1#
在MySQL5.7中,他们将默认的sql模式改为包含
NO_AUTO_CREATE_USER
. 这样可以防止GRANT
从创建用户,所以你必须使用CREATE USER
相反。也可以从服务器的sql模式中删除此设置。此更改是为8.0做准备的,它删除了
GRANT
完全创建用户。