首頁 > 資料庫 > mysql教程 > 為什麼MySQL的通配符主機「%」不自動授予遠端存取權限?

為什麼MySQL的通配符主機「%」不自動授予遠端存取權限?

Patricia Arquette
發布: 2024-12-14 01:30:10
原創
977 人瀏覽過

Why Doesn't MySQL's Wildcard Host '%' Automatically Grant Remote Access?

MySQL 使用者的遠端存取

嘗試使用使用者user@'%' 和密碼密碼,儘管通配符% 表示從任何主機存取,但連線失敗。

原因失敗

MySQL 使用者主機欄位中的通配符 % 不會自動授予遠端存取權限。要遠端連接,需要執行以下步驟:

  1. 將MySQL 綁定到機器的IP 位址: 在my.cnf 中設定MySQL 將連接埠3306 綁定到您機器的IP 位址(或Windows 上的my.ini)為如下所示:

    bind-address        = xxx.xxx.xxx.xxx
    登入後複製
  2. 在本機和通配符中建立使用者:使用下列指令在本機主機和%通配符主機中建立使用者:

    CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass';
    CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass';
    登入後複製
  3. 授予權限: 從本地主機和通配符授予使用者所有資料庫的完全權限:

    GRANT ALL ON *.* TO 'myuser'@'localhost';
    GRANT ALL ON *.* TO 'myuser'@'%';
    FLUSH PRIVILEGES;
    登入後複製

其他注意事項

  • 根據您的作業系統,您可能需要開啟連接埠 3306 以允許遠端連線。
  • 確保 MySQL 設定包含skip-name-resolve 選項以防止 DNS 查找。
  • 使用以下指令測試遠端連線:

    mysql -h <hostname> -u myuser -pmypass
    登入後複製

以上是為什麼MySQL的通配符主機「%」不自動授予遠端存取權限?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板