簡體   English   中英

將mysql從5.6升級到5.7后,“在用戶表中找不到任何匹配的行”

[英]“Can't find any matching row in the user table” after upgrading mysql from 5.6 to 5.7

我收到此錯誤:

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

嘗試執行以下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從使用ubuntu 14.04升級到16.04后開始的,該問題也將MySQL版本從5.6更改為5.7

因此,我確定相同的代碼適用於MySQL 5.6,但不適用於MySQL 5.7。

可能是什么問題?

在MySQL 5.7中,他們將默認SQL模式更改為包括NO_AUTO_CREATE_USER 這樣可以防止GRANT創建用戶,因此您必須改為使用CREATE USER 您也可以從服務器的SQL模式中刪除此設置。

這項更改是為8.0做准備的,它消除了GRANT完全創建用戶的能力。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM