Mariadb非root用戶

Mariadb非root用戶

我已經安裝了 mariadb,當作為 Linux root 使用者時,我可以執行 mysql 命令來存取資料庫。但是當我嘗試以普通 Linux 用戶身份登入並運行時mysql -u root -p,出現錯誤:

ERROR 1698 (28000): Access denied for user 'root'@'localhost'. 

我嘗試了多種方法,例如重置mysql root用戶密碼,但沒有用。

任何幫助都會很棒。

答案1

我遇到了同樣的問題,它是由“mysql.user”表中的“plugin”值引起的。

您是否嘗試過這個答案:https://askubuntu.com/a/636579/299538

這是對此的解釋:https://superuser.com/a/1071043/592085

答案2

在 MariaDB 中,您無法使用普通使用者登錄,您必須 root 存取權限或使用sudo.另一個解決方案是新增另一個具有完全權限的 root 使用者。

使用 sudo 連接到資料庫:

sudo mysql -u root

檢查您在目前資料庫中的帳戶:

mysql> SELECT User,Host FROM mysql.user;
+------------------+-----------+
| User             | Host      |
+------------------+-----------+
| root             | localhost |

重新建立使用者root(如果需要,請使用密碼):

mysql> CREATE USER 'root'@'%' IDENTIFIED BY '';

給予許可:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';

沖洗:

mysql> FLUSH PRIVILEGES;

顯示資料庫使用情況:

SELECT User,Host FROM mysql.user;
+------+-----------+
| User | Host      |
+------+-----------+
| root | %         |
| root | localhost |
+------+-----------+

退出並以一般用戶連線:

mysql -u root

相關內容