首頁  >  文章  >  資料庫  >  為什麼我無法在 Ubuntu 中以 root 使用者身分存取我的 MySQL 資料庫?

為什麼我無法在 Ubuntu 中以 root 使用者身分存取我的 MySQL 資料庫?

Patricia Arquette
Patricia Arquette原創
2024-10-30 00:10:28330瀏覽

Why Can't I Access My MySQL Database as Root User in Ubuntu?

SQLSTATE[HY000] [1698] 本地主機上的「root」使用者存取被拒絕

遇到「SQLSTATE[HY000] [1698] 使用者」被訪問拒絕設定Ubuntu Web 伺服器後出現root'@'localhost'” 錯誤可能會令人沮喪。雖然資料庫存取似乎可以透過終端機進行訪問,但 PHP 和 phpMyAdmin 中的錯誤仍然存在。了解根本原因對於解決此問題至關重要。

Root 使用者限制

MySQL 5.7 開始引入了對 root 使用者的限制。如果沒有提升的權限,則無法再使用 mysql -u root 直接存取 MySQL。相反,需要 sudo mysql -u root,提示輸入密碼。

此限制擴展到 GUI 和非命令列應用程式。要緩解此問題,請建立一個具有必要權限的新用戶,而不是使用 root 用戶。

PHP 中的實作

在提供的 PHP 程式碼中,登入憑證為硬編碼。若要繞過root 使用者限制,請修改__construct() 方法以合併具有適當權限的新使用者:

<code class="php">public function __construct() {
    try {
        $this->conn = new PDO("mysql:host=$this->host;dbname=$this->db", $this->name, $this->pass, self::$settings);
    } catch (PDOException $e) {
        echo $e->getMessage();
    }
}</code>

將$this->name 和$this->pass 替換為新建立的用戶的憑據。確保使用者擁有存取資料庫所需的權限。

其他資源

有關進一步的見解和故障排除步驟,請參閱以下資源:

  • [MySQL 錯誤代碼1698:用戶'root'@'localhost' 存取被拒絕](https://www.cybertec-postgresql.com/en/mysql-error-1698-access-denied-for-使用者rootlocalhost/)

以上是為什麼我無法在 Ubuntu 中以 root 使用者身分存取我的 MySQL 資料庫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn