2017-02-12 62 views
-1

我探索了將客戶端Web應用程序直接連接到MySQL服務器的想法。是否有任何技術限制連接客戶端(瀏覽器)JavaScript到遠程MySQL服務器?

我不能使用後端Web應用程序作爲代理,並且我不能使用mysql http插件。

從網上的一個簡短的研究,似乎一般的協議是,它不能做或不應該嘗試。

這是否有任何技術限制? MySql正在偵聽網絡端口,並且不應該關心連接到哪種客戶端。爲什麼客戶端不能用可以在瀏覽器上運行的純JavaScript編寫?我可以編寫連接到TCP套接字的JavaScript代碼,並將數據發送給它作爲任何其他MySQL的GUI?

只是有興趣,如果我應該進一步探索這個想法?

+2

如果您以某種方式做出這項工作(出於安全原因(允許客戶端連接到任意IP和端口是不可想象的任何現代瀏覽器是想象中的噩夢),所有客戶端將擁有憑據可隨意讀取/寫入數據庫。 – CollinD

+0

另外爲什麼你沒有能力使用後端服務器端程序?當然,你可以在雲中託管一個Java或PHP webapp嗎? –

+0

@TimBiegeleisen,我有一個客戶端,在公司內部網中沒有訪問互聯網的機器。它必須是在他的機器上運行的東西。他想要一個連接到mysql執行一些查詢並獲得結果的小應用程序。這真的是一個簡單的項目,所以我在Qt中想到了一個桌面應用程序,但我對Qt並不熟悉,所以我正在探索將它作爲可通過雙擊HTML文件調用的Web應用程序的可能性。我可以在他的機器上安裝XAMP,但這會很複雜。 –

回答

1

你不能。 MySQL只接受來自客戶端的連接,說出MySQL網絡協議,並且在Web瀏覽器中運行的Javascript只能進行HTTP連接。 (如果您想知道WebSockets,那些是HTTP的一個子集 - 它們不能用於建立任意的網絡連接。)

在任何情況下,如果您只是想要在Javascript web中本地存儲數據應用程序,你不需要MySQL。您可以使用IndexedDB API直接在瀏覽器中存儲數據。

相關問題