Mysql
從命令行連接到 RDS MySQL 有時會失敗——為什麼?
我使用 RDS 多年,使用 MySQL 甚至更長時間,所以我對兩者都非常熟悉——然而,我遇到了一件我無法弄清楚的奇怪事情。想知道是否有人可以提供幫助。
我在 RDS 上有 2 個數據庫(生產、暫存)。它們是單獨的數據庫實例。我有執行在訪問各自數據庫的 EC2 實例上的應用程序。他們工作正常,從未失去過數據庫連接等。
我通常通過命令行 MySQL 從我的一個應用程序 EC2 主機(當然它具有與 RDS 的連接權限)連接來進行架構更新並執行專門的查詢。這可以正常工作很多天。然後,突然有一天,在嘗試訪問我的生產數據庫時,我得到:
ERROR 1045 (28000): Access denied for user ...
我嘗試從我的另一個應用程序主機連接。沒有骰子。我嘗試在我的一個暫存 EC2 主機上連接到暫存 RDS 實例。結果一樣!瘋狂的!兩個不同的 RDS 實例。多個 EC2 主機,均具有對 RDS 實例的網路訪問權限。
有沒有其他人遇到過這個?我嘗試重啟 RDS 實例,但無濟於事。然後我在通過 JDBC 連接到數據庫的 EC2 主機上執行一個簡單的 Java 程序,它執行良好!
我很困惑。幾乎就像mysql客戶端出了問題。
任何幫助,將不勝感激。
根本原因是 MacOS 終端仿真器,無論出於何種原因,它都可能進入不良狀態。儘管通過 MacOS 終端多次重新連接到我的 EC2 實例,但終端仿真模式必須保持不變。我什至嘗試了終端的其他視窗/選項卡。非常不直覺。
我能夠通過下載 iTerm 並再次嘗試整個序列來驗證所有這些。如果您遇到類似的情況,請嘗試使用不同的終端仿真器!
ps:不用多謝警察提問