如果我的Raspberry pi上有節點js服務器。 和我的筆記本電腦上的MySQL數據庫。 覆盆子pi和我的筆記本電腦都連接到同一個局域網。如何使用IP而不是「localhost」連接到MySQL數據庫?
筆記本電腦IP:192.168.1.2
樹莓派IP:192.168.1.3
第1部分,我怎樣才能從樹莓派服務器發送數據到MySQL數據庫在我的筆記本電腦?
起初我還以爲是我必須做的是主機字段從「localhost」改成「192.168.1.2」改變,但是這似乎並沒有工作,因爲:
我創建了一個節點JS服務器在我的筆記本電腦上(因爲我現在沒有樹莓派),並試圖連接到它的數據庫來存儲數據,它的工作完美。但是,當我試圖主機字段從「本地主機」更改爲「192.168.1.2」,這是在局域網上它無法連接,並投擲了錯誤的筆記本電腦地址:
ER_HOST_NOT_PRIVILEGED:主機「安瓦爾-PC」是不允許連接到這個MySQL服務器
代碼:
var connection = mysql.createConnection({
host: 'localhost',
user: 'user1',
password: 'password1',
database: 'database1'
});
而且我通過執行以下操作創建一個用戶:
drop user [email protected];
flush privileges;
create user [email protected] identified by 'password1';
GRANT USAGE ON *.* to [email protected];
GRANT ALL ON database1.* TO [email protected];
第2部分,如果樹莓派和數據庫都連接到互聯網而不是局域網,我想要做同樣的場景。
我希望我解釋正確的問題。 在此先感謝。
你應該改善你的問題,使其更容易理解。如果我沒有錯,你想知道在你的Node js服務器設置中更改MySQL服務器地址的位置,對嗎?這與MySQL Workbench無關。 –
@MikeLischke 我編輯了這個問題,我希望現在好一點。謝謝 –
你有什麼確切的錯誤信息?這可能是因爲您沒有允許用戶從您的IP地址進行連接(當您通過本地主機進行連接時,不會使用該用戶)。另見https:// dev。mysql.com/doc/refman/5.7/en/create-user.html –