我想將我的Django應用程序(託管在VPS上)連接到託管在具有更多內存的另一臺服務器上的數據庫,這樣我就可以在沒有風險的情況下運行內容並將其添加到數據庫中它在我的VPS上使用太多內存而死亡。我見過的關於這個的東西(例如,How to connect to MySQL server on another host?)都涉及編輯my.cnf
和更改bind-address
行。我a)沒有root權限來執行此操作,並且b)不希望公開其他用戶的MySQL dbs以應對潛在的安全風險。我嘗試編輯~/.my.cnf
來更改bind-address
的事情,但這似乎不起作用。在不編輯my.conf的情況下訪問遠程MySQL服務器
我還發現http://www.rackspace.com/knowledge_center/article/mysql-connect-to-your-database-remotely,它建議創建'user'@'remote-ip-address'
然後grant
該用戶權限。我嘗試過,但當我嘗試mysql -u username -p -h (the server's address)
時,我總是收到ERROR 2003 (HY000): Can't connect to MySQL server on '(the server's address)' (110)
。
我有權訪問MySQL的root
用戶,但在要設置數據庫的服務器上沒有其他管理員權限。有什麼辦法可以配置,讓Django無需直接編輯就可以訪問這個遠程數據庫/etc/mysql/my.cnf
?
我需要將我的VPS上的Django連接到其他服務器上的數據庫。據我所知,更改我的VPS上的MySQL設置將無濟於事,而且我沒有root權限來更改另一臺服務器上的設置(我也不想損害其安全性)。 – swizzard
我編輯了答案來解決您的安全問題。現在,讓我幫你解決你的問題。你現在設置了什麼地址? 'cat /etc/mysql/my.cnf | grep bind' – santiagobasulto
對,我這樣做:'CREATE USER'用戶'@'(VPS IP地址)'','GRANT ALL ON mydb。* to'user'@'(VPS IP address)'IDENTIFIED BY'password' '。但正如我上面所說的,當我嘗試從我的VPS連接到另一臺服務器時,出現'ERROR 2003(HY000)'。 – swizzard