許多用戶在嘗試使用MariaDB登錄MySQL時遇到了問題,即無法登錄到MariaDB。下面是一些可能導致此問題的原因。
$ mysql -u root -p Enter password: ERROR 1698 (28000): Access denied for user 'root'@'localhost'
原因:
使用主用戶登錄不當:
- 使用'sudo mysql'或其他替代方法以root用戶身份登錄時,可能會出現問題。正確的方法是使用'mysql -h localhost -u username -p'登錄。
- 如果在新安裝的MariaDB中無需密碼即可訪問root用戶,則可能會出現問題。在安裝過程中,會詢問是否將root用戶的口令設置為空,若勾選則不需要密碼即可進入,可以通過 ALTER USER user IDENTIFIED BY 'newpassword' 為root用戶設置密碼。
數據庫訪問權限問題:
- 如果沒有顯示指定權限,則可能出現問題。需要為新用戶設置訪問權限,例如:GRANT ALL ON *.* TO 'username'@'localhost' IDENTIFIED BY 'password'; FLUSH PRIVILEGES;。
- 如果有任何限制,則可能會有問題。在某些情況下,可能會遇到錯誤消息,指出在登陸到MariaDB時發現'host not allowed to connect'。這是因為在MariaDB權限表中未指定'MySQL user@IP'。
因此,在使用MariaDB登錄MySQL時,請小心注意,如果無法登錄,請檢查您的MariaDB登錄方式和訪問權限,并注意MariaDB用戶的口令設置是否正確。嘗試解決問題,提高您的操作技能。