云服務器數據庫連接失敗,顯示陌生IP地址是怎么回事?

云服務器數據庫連接失敗,顯示陌生IP地址是怎么回事?

云服務器數據庫連接異常:陌生IP地址導致連接失敗

許多開發者在將web項目部署到云服務器后,常常遇到數據庫連接問題。本文將分析一個用戶使用navicat連接云服務器mysql數據庫時遇到的“陌生IP”問題,并提供詳細的解決方案。

該用戶成功部署項目并使用Navicat連接數據庫,通過將MySQL用戶表的host字段設置為’%’來允許所有IP訪問。然而,第二天重新連接時,Navicat提示連接失敗,顯示一個陌生的IP地址。此IP地址可以ping通,但用戶確認它既不是云服務器IP,也不是其本地電腦IP。

問題根源在于,雖然用戶通過Navicat將host設置為’%’,但這只是客戶端配置。重啟服務器或數據庫服務后,該配置可能失效,導致MySQL服務器拒絕來自任何IP的連接請求,除非重新授權。

解決方法:通過命令行重新配置MySQL用戶權限

  1. 使用ssh工具(如Xshell)連接云服務器。

  2. 使用命令行工具連接MySQL數據庫: mysql -uroot -p (將root替換為您的MySQL用戶名)。

  3. 使用SQL命令重新設置用戶表的host字段為’%’:

UPDATE mysql.user SET host = '%' WHERE user = 'webuser';

(將webuser替換為您的MySQL用戶名)

  1. 刷新MySQL權限表:
FLUSH PRIVILEGES;
  1. 重新嘗試使用Navicat連接云服務器數據庫。

通過以上步驟,確保MySQL服務器本身的配置也允許所有IP連接,從而避免因重啟服務導致的授權失效問題。

? 版權聲明
THE END
喜歡就支持一下吧
點贊11 分享