我myaccount用密碼創建了一個并使用了:
select user,password,host,plugin from mysql.user;
--------------------- ------------------------------------------- ----------- -------------
| user | password | host | plugin |
--------------------- ------------------------------------------- ----------- -------------
| root | *84BB5DF4823DA319BBF86C99624479A198E6EEE9 | localhost | unix_socket |
| myaccount@localhost | *28F1DE8C4229B1D4F62F752EA3812747CE4E5CA0 | % | |
--------------------- ------------------------------------------- ----------- -------------
如您所見,沒有plugin為myaccount. 我原以為這意味著我可以使用我的密碼訪問 mariadb,但是當從我的帳戶登錄時,libra我myaccount會得到一個:
ERROR 1045 (28000): Access denied for user 'myaccount'@'localhost' (using password: YES)
如何設定plugin屬性以允許來自任何帳戶的密碼驗證?myaccount在我的機器上不作為用戶存在。
uj5u.com熱心網友回復:
這不是身份驗證插件問題。
'myaccount'@'localhost'您的資料庫中沒有指定帳戶。但是,有一個名為的帳戶'myaccount@localhost'@'%'。是的,這個名字很奇怪。是的,在 MariaDB / MySQL 上創建帳戶的方式很奇怪。
試試這個:
CREATE USER 'myaccount'@'localhost' IDENTIFIED BY 'REDACTED';
GRANT ALL PRIVILEGES ON *.* TO 'myaccount'@'localhost' WITH GRANT OPTION;
CREATE USER 'myaccount'@'%' IDENTIFIED BY 'REDACTED';
GRANT ALL PRIVILEGES ON *.* TO 'myaccount'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
這將設定您從 localhost 和任何其他主機登錄到在服務器上具有管理權限的帳戶。在 MariaDB / MySQL 上,這需要兩個帳戶。嘆。(如果您不想要管理權限,請更改GRANT陳述句。)
當然,替換REDACTED為您想要的密碼。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/471304.html
上一篇:從另一個表更新一個表中的資料
