我已經做了一個C++應用程序,需要連接到MySQL數據庫,錯誤等連接時,你得到我的MySQL服務器是: 主機不允許連接到MySQL。
我一直在閱讀一些解決方案,但他們需要你有用戶的IP,我怎麼能允許連接從任何電腦?
我已經做了一個C++應用程序,需要連接到MySQL數據庫,錯誤等連接時,你得到我的MySQL服務器是: 主機不允許連接到MySQL。
我一直在閱讀一些解決方案,但他們需要你有用戶的IP,我怎麼能允許連接從任何電腦?
使用通配符(%)作爲主機名創建用戶。以下是創建名爲「my_user」的用戶並授予他們「my_database」數據庫所有權限的示例。
GRANT ALL ON my_database.* TO [email protected]'%' IDENTIFIED BY 'some_password';
您可能想考慮授予更少的權限。例如,也許你只需要給這個遠程用戶SELECT權限。
GRANT SELECT ON my_database.* TO [email protected]'%' IDENTIFIED BY 'some_password';
thx很多,它的作品! – user1126068 2012-04-01 16:50:13
最佳做法是在數據庫和外部世界之間放置一層。我的最佳選擇是託管一個帶有免費虛擬主機的mysql數據庫,然後使用PHP腳本來使用稱爲web服務的東西來公開可用於您的應用的函數。
從個人的經驗,有一個NuSOAP庫,這將使這容易。當你在Visual Studio中構建時,你可以在你的web服務中添加一個「web refrence」,它將爲你建立連接它的代碼。
你爲什麼要這麼做?請不要,至少使用VPN連接。你試圖實現的模式是什麼? – 2012-04-01 14:28:00
我的應用程序需要MySQL,它的意思是遠程連接到它,我不打算讓它不受保護,只允許任何PC使用我的應用程序連接... – user1126068 2012-04-01 14:44:34
MySQL並不意味着要遠程連接。即使不考慮安全問題,您也會很快觸及併發連接。幫你一個忙,並寫一些抽象訪問你的數據庫的API層。 – 2012-04-01 15:02:05