[英]“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;
我知道已經問過類似的問題:
但是,他們都沒有解決我的問題。
特別是在我的情況下,這個問題是在我將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.