Skocz do zawartości

Komunikacja z bazą danych na serwerze (zewnętrzny hosting)


Pomocna odpowiedź

Cześć,
tworzę stronę internetową prezentującą w graficzny sposób dane odbierane przez raspberry z różnych czujników (tylko typu int).

Pomiary zapisuję do bazy danych i później "wyciągam" je i obrabiam, by w odpowiedni sposób wyświetlić na stronie internetowej. Wszystko działa, gdy pracuję lokalnie na serwerze raspberry. Problem pojawia się, gdy chcę wysłać odczyty z czujników na zewnętrzny serwer i zapisać do znajdującej się tam bazy danych. Mam wykupiony swój hosting i domenę, więc chciałbym to wykorzystać.

Dane wysyłam w następujący sposób:

import MySQLdb

db = MySQLdb.connect("localhost", "admin", "admin", "db")
cursor = db.cursor()

...

cursor.execute("""INSERT INTO tab VALUES('',%s,%s,%s,%s)""",(val1,val2,val3,val4))
db.commit()

Tak jak wspomniałem wyżej, całość działa lokalnie, jednak gdy chcę się połączyć z zewnętrznym serwerem dostaję komunikat widoczny poniżej.

Czy jest mi ktoś w stanie powiedzieć jak zrobić to poprawnie?

Chętnie przygarnę wszelkie linki/tutoriale/źródła wiedzy.

Link to post
Share on other sites

Pierwszy parametr wywołania metody connect() to nazwa serwera - co łatwo zgadnąć po nazwie "localhost". Z tego co pokazujesz na zrzucie ekranu, nie zmieniłeś tej nazwy - więc nadal próbujesz połączyć się z lokalną bazą, a chyba chciałeś z serwerem.

Link to post
Share on other sites

Czyli rozumiem, że w ten sposób mogę się łączyć z bazą tylko z mojej domeny?

Przy tworzeniu tejże bazy danych otrzymałem następujące parametry (które skopiowałem):

Edit:

Faktycznie, głupi błąd. Należy ustawić w bazie danych dostęp z zewnętrznych adresów IP. Może komuś się przyda.

Link to post
Share on other sites

localhost to umowna nazwa własnego komputera, albo raczej jego interfejsu sieciowego. Niezależnie jak host się nazywa, "localhost" to zawsze on sam. Możliwe, że baza którą tworzysz jest dostępna tylko z poziomu skryptów na serwerze - nie możesz się do niej podpiąć "z zewnątrz". Albo możesz, ale używając innych ustawień.

Możesz to obejść tworząc skrypty, które udostępnią dane oraz umożliwią dodawanie informacji do bazy.

Link to post
Share on other sites
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.