mysql8 無法連線navicat問題

大尹發表於2024-06-07

1、修改MySQL的配置檔案(my.cnf或者my.ini),在[mysqld]部分新增或者修改default_authentication_plugin=mysql_native_password。重啟mysql服務

2、建立或修改使用者並設定密碼:如果您還沒有 root 使用者從任何主機連線的許可權,您需要首先以具有足夠許可權的使用者(通常是本地 root 使用者)登入到 MySQL,並執行以下命令來建立或修改使用者:

  CREATE USER 'root'@'%' IDENTIFIED BY 'your_password';

或者,如果 root 使用者已經存在但您需要更改密碼,可以使用:

  ALTER USER 'root'@'%' IDENTIFIED BY 'your_password';

請替換 'your_password' 為您想要設定的密碼。

3、授予許可權:一旦使用者建立或密碼修改完成,您可以授予 root 使用者所需的許可權。如果您想要授予 root 使用者所有資料庫的所有許可權,可以執行以下命令:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

4、重新整理許可權:每次修改使用者許可權後,都需要執行以下命令來使更改生效:

FLUSH PRIVILEGES;

注意:允許 root 使用者從任何主機連線是一個安全風險,因為這意味著任何能夠訪問您的 MySQL 伺服器的人都可以使用 root 憑據登入。在生產環境中,您應該始終限制可以從哪些主機連線到 root 使用者,或者完全避免從遠端主機連線 root 使用者。通常,最好是為每個應用或服務建立特定的使用者,並僅授予他們所需的最小許可權。

如果您正在本地環境中工作,並且確實需要從其他主機連線到 root 使用者,那麼請確保您的 MySQL 伺服器受到防火牆的保護,並且只允許可信的主機進行連線。

相關文章