MySQL 錯誤1356:更新查詢中的表格引用無效
嘗試使用UPDATE 指令更新使用者權限可能會導致錯誤:
ERROR 1356 (HY000): View 'mysql.user' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
登入後複製
理解錯誤
在MariaDB 10.4和更高一點,mysql.user是一個視圖,而不是一個表。因此,不再支援在此視圖上執行直接更新。
解決方案
要解決此錯誤,請使用以下建議做法:
-
使用SET PASSWORD 或ALTER USER 進行身份驗證更改:
使用SET PASSWORD 管理使用者驗證或ALTER USER 指令。 -
避免操作現有使用者:
修改現有使用者名稱的使用者/主機元件可能會導致不一致。相反,根據需要刪除並重新建立用戶。
示例
要向MariaDB 10.4 中的root 用戶授予遠程訪問權限,請使用以下命令:
ALTER USER 'root'@'%' IDENTIFIED BY 'new_password';
登入後複製
注意事項
- 請務必參考官方文件以了解更多資訊有關MySQL 和MariaDB身份驗證機制的最新資訊。
- 從過時的來源複製指令可能會導致錯誤和意外行為。
以上是如何修復 MySQL 錯誤 1356:更新查詢中的無效表參考?的詳細內容。更多資訊請關注PHP中文網其他相關文章!