Phpmyadmin

由於未提示輸入 root 密碼,phpmyadmin 設置失敗

  • December 29, 2020

An error occurred while installing the database: │ │ ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using │ password: NO) .

為什麼在設置 phpmyadmin 期間它沒有提示我輸入 root 密碼?這對我來說簡直是莫名其妙。它不要求輸入密碼,嘗試在沒有密碼的情況下登錄,當然會被拒絕。它只會提示我輸入 phpmyadmin 使用者的新密碼。

我該如何解決這個問題?我不知所措。這是 Ubuntu 16.04 的全新安裝。我已經設置了 MySQL 並且工作了一段時間,沒有任何問題。我可以通過登錄mysql -u root -p完全沒有問題。

回到這個問題,因為我相信我已經找到了答案。我使用 mariadb,據我所知,當您以超級使用者權限執行 mysql 時,即使使用密碼,您也只能以 -u root 身份登錄。這是有道理的,因為像 mariadb 這樣的系統服務是以 root 身份執行的。因此,試圖從標準使用者帳戶訪問 mariadb 的 root 使用者是行不通的。

這讓我多次犯錯,因為在這種情況下 mysql 的行為與 mariadb 不同,而且我已經習慣了 mysql 的行為方式。如果你跑

mysql -u root -p並輸入正確的密碼(使用mysql,而不是mariadb)它將起作用。mariadb 似乎又增加了一層安全性,需要你不僅要知道 mysql root 使用者的密碼,還要有超級使用者權限。因此,你必須做

sudo mysql -u root -p任何時候您需要以 root 使用者身份訪問數據庫。我還沒有測試過這是否僅適用於命令行訪問,或者在使用者級別執行的程序是否也會被正確的憑據拒絕——我懷疑他們會。這鼓勵了更安全的做法,即創建具有有限權限範圍的使用者,這些使用者只能訪問他們需要訪問的數據庫。

所以對於最初的觀點:這可能是 phpmyadmin 中的一個錯誤,因為通過 apt 安裝它意味著在安裝期間具有超級使用者權限。不確定 phpmyadmin 的具體問題是什麼,但我知道為什麼會發生這個錯誤。

引用自:https://serverfault.com/questions/882761