首頁 >資料庫 >mysql教程 >為什麼我無法在 Ubuntu 16.04 中以「root」身分連線到 MySQL?

為什麼我無法在 Ubuntu 16.04 中以「root」身分連線到 MySQL?

Barbara Streisand
Barbara Streisand原創
2024-10-30 11:53:02795瀏覽

Why Can't I Connect to MySQL as 'root' in Ubuntu 16.04?

Ubuntu 16.04 中「root」使用者的資料庫存取被拒絕

在Ubuntu 16.04 中使用Web 伺服器遇到錯誤「SQLSTATE[HY000] [1698] 使用者'root'@'localhost'的存取被拒絕」。儘管創建了具有所有權限的新用戶,但還是會出現此問題。

MySQL 5.7 中的根用戶限制

此錯誤的根本原因在於MySQL 5.7 中引入的更改,這限制了沒有sudo 權限的「root」用戶的使用。在先前的版本中,使用者可以使用「mysql -u root」指令以「root」身分存取 MySQL,而無需提升權限。然而,在 MySQL 5.7 中,這種方法不再可行。

解決方法

要解決此問題,您需要建立一個具有必要權限的新使用者並使用從PHP 應用程式或其他非命令列工具建立資料庫連接時,請使用該使用者而不是“root”。

PHP 程式碼

在您的PHP 程式碼中,取代使用者名稱和密碼以及新建立使用者的憑證:

<code class="php">protected $name = 'new_user';
protected $pass = 'new_password';</code>

從命令列進行根訪問

雖然您不能直接使用“root”用戶GUI 或非命令行應用程序,您仍然可以使用sudo 以“root”身份從命令行訪問MySQL:

sudo mysql -u root

請記住,此方法會提升您的權限,僅應在必要時使用。出於安全原因,建議建立一個專用使用者進行資料庫管理並使用該使用者而不是“root”。

以上是為什麼我無法在 Ubuntu 16.04 中以「root」身分連線到 MySQL?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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