Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL]Dostęp z zewnątrz do bazy mysql
dopal
post 31.05.2016, 13:28:14
Post #1





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 9.02.2009

Ostrzeżenie: (0%)
-----


Witam,
Posiadam w lokalnej sieci na komputerze z win7 zainstalowany webserv (apache 2.2.22. php 5.3.20, Mysql 5.5.21), na którym działa aplikacja w sieci lokalnej.
Chciałbym z tego lokalnego serwera pobierać dane z bazy mysql by były widoczne na stronie www. Strona znajduje się na serwerze w firmie w której mamy wykupiony hosting.
Co muszę zrobić, ustawić, skonfigurować by takie połączenie było możliwe?
Wujek google podpowiada, że da się to zrobić, przejrzałem kilka stron, ale w wiekszości dotyczyły one linuxa, a nie windowsa.
Podawany był tam taki zapis:
" Po zalogowaniu na konto z pełnymi uprawnieniami otwieramy plik konfiguracyjny serwera MySQL:

nano /etc/mysql/my.cnf

W plik szukamy linii:

bind-address = 127.0.0.1

Należy ją usunąć lub dodać płotek (hash) - stworzyć z tej linii komentarz:

#bind-address = 127.0.0.1

Kolejnym krokiem, który należy wykonać jest restart serwera MySQL:

/etc/init.d/mysql restart"

ale niestety pod win w pliku my.ini nie znajduję takiej lini.

Proszę o konkretną pomoc.
Go to the top of the page
+Quote Post
viking
post 31.05.2016, 14:03:14
Post #2





Grupa: Zarejestrowani
Postów: 6 378
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Na początek sprawdź opcję skip-networking, później nadaj uprawnienia użytkownikowi.


--------------------
Go to the top of the page
+Quote Post
dopal
post 31.05.2016, 14:06:36
Post #3





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 9.02.2009

Ostrzeżenie: (0%)
-----


Cytat(viking @ 31.05.2016, 15:03:14 ) *
Na początek sprawdź opcję skip-networking, później nadaj uprawnienia użytkownikowi.


Mam tak:

#skip-networking
Go to the top of the page
+Quote Post
viking
post 31.05.2016, 14:22:47
Post #4





Grupa: Zarejestrowani
Postów: 6 378
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Dodałeś użytkownika z dostępem? Reguły na firewallu? bind-address?


--------------------
Go to the top of the page
+Quote Post
dopal
post 1.06.2016, 09:28:07
Post #5





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 9.02.2009

Ostrzeżenie: (0%)
-----


Cytat(viking @ 31.05.2016, 15:22:47 ) *
Dodałeś użytkownika z dostępem? Reguły na firewallu? bind-address?

Użytkownika z uprawnieniami dodałem.
Jaka reguła ma być na firewallu? i jaki ma byc bind-address? Czy to adres lokalny czy strony www?
A czy to ma znaczenie że to windows a nie linux jak wspominałem w pierwszym poście?

Ten post edytował dopal 1.06.2016, 09:29:28
Go to the top of the page
+Quote Post
viking
post 1.06.2016, 09:49:24
Post #6





Grupa: Zarejestrowani
Postów: 6 378
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Nie ma żadnego znaczenia. Konfiguracja jest dokładnie ta sama. bindujesz adres maszyny na której ten serwer stoi. Firewall ma przepuszczać przychodzące połączenia do portu 3306 (domyślnie)


--------------------
Go to the top of the page
+Quote Post
dopal
post 1.06.2016, 09:54:28
Post #7





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 9.02.2009

Ostrzeżenie: (0%)
-----


Cytat(viking @ 1.06.2016, 10:49:24 ) *
Nie ma żadnego znaczenia. Konfiguracja jest dokładnie ta sama. bindujesz adres maszyny na której ten serwer stoi. Firewall ma przepuszczać przychodzące połączenia do portu 3306 (domyślnie)

ok powinno byc ustawione. co dalej?
Go to the top of the page
+Quote Post
viking
post 1.06.2016, 10:05:14
Post #8





Grupa: Zarejestrowani
Postów: 6 378
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Powinno czy jest? Utworzyć połączenie i korzystać.


--------------------
Go to the top of the page
+Quote Post
dopal
post 1.06.2016, 10:09:07
Post #9





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 9.02.2009

Ostrzeżenie: (0%)
-----


Cytat(viking @ 1.06.2016, 11:05:14 ) *
Powinno czy jest? Utworzyć połączenie i korzystać.

Powinno w sensie, że nie wiem czy prawidłowo wszystko zrobiłem smile.gif
Czyli teraz już na serwerze www, utworzyć połączenie i sprobować pobrać dane?
Go to the top of the page
+Quote Post
viking
post 1.06.2016, 10:13:11
Post #10





Grupa: Zarejestrowani
Postów: 6 378
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Bez tego się raczej nie dowiesz czy działa.


--------------------
Go to the top of the page
+Quote Post
dopal
post 1.06.2016, 10:24:56
Post #11





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 9.02.2009

Ostrzeżenie: (0%)
-----


Cytat(viking @ 1.06.2016, 11:13:11 ) *
Bez tego się raczej nie dowiesz czy działa.


Dostaję taki komunikat:

Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on '83.16.XX.XXX' (4) in /usr/local/apache/www/htdocs/tu wpisany jest adres strony www/gen/class.SQL.php on line 14
Can't connect to MySQL server on '83.16.XX.XXX' (4)
Go to the top of the page
+Quote Post
viking
post 1.06.2016, 10:31:37
Post #12





Grupa: Zarejestrowani
Postów: 6 378
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


http://dev.mysql.com/doc/refman/5.7/en/can...-to-server.html


--------------------
Go to the top of the page
+Quote Post
dopal
post 1.06.2016, 10:43:49
Post #13





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 9.02.2009

Ostrzeżenie: (0%)
-----


I jestem w czarnej d....
Nie działa sad.gif
Go to the top of the page
+Quote Post
viking
post 1.06.2016, 10:50:05
Post #14





Grupa: Zarejestrowani
Postów: 6 378
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Restartowałeś mysql po zmianach?
W jaki sposób był instalowany? Uruchom ponownie narzędzi konfiguracji.
I głupie pytanie. Usługa jest uruchomiona?


--------------------
Go to the top of the page
+Quote Post
dopal
post 1.06.2016, 11:08:52
Post #15





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 9.02.2009

Ostrzeżenie: (0%)
-----


Cytat(viking @ 1.06.2016, 11:50:05 ) *
Restartowałeś mysql po zmianach?
W jaki sposób był instalowany? Uruchom ponownie narzędzi konfiguracji.
I głupie pytanie. Usługa jest uruchomiona?


Tak restartowałem. Usługa działa, bo ludzie pracują na programie bez problemu w sieci lokalnej.
Instalowałem to z pakietu Webserv, czyli wszystko było w jednym zestawie tak jak np. w Krasnalu
Pewnie coś nie tak ustawiłem:

Lokalny serwer na adres powiedzmy 1.1.1.100
w pliku my.ini
są te zapisy

#skip-networking

#bind-address = 1.1.1.100 ( probowałem też ze 127.0.0.1 )

Użytkownik ma poprawne ustawienia ponieważ w sieci lokalnej działa tak jak należy.

Problem więc musi leżeć gdzieś dalej.

Firewall jest postawiony na OpenBSD.

Na serwerze www w utworzeniu połączenia mam takie zapisy :
  1. <?php
  2.  
  3. class SQL {
  4.  
  5. private $host = '83.16.XX.XXX'; adres zewnętrzny na którym jest mysql
  6. private $user = 'darek'; przykładowy uzytkowik
  7. private $password = 'darek1'; przykłądowe hasło
  8. private $database = 'dzj'; przykładowa baza
  9.  
  10. public $query;
  11.  
  12. public function connection(){
  13.  
  14. $connect = mysql_connect( $this->host, $this->user, $this->password) or die( mysql_error());
  15.  
  16. $database = mysql_select_db( $this->database);
  17.  
  18. $charset = mysql_query("SET NAMES 'utf8'");
  19.  
  20.  
  21. }
  22.  
  23. public function disconnection(){
  24.  
  25. mysql_close( $connect);
  26.  
  27. }
  28.  
  29. public function query( $query){
  30.  
  31. return $this->query = mysql_query( $query);
  32.  
  33. }
  34.  
  35. public function getRows(){
  36.  
  37. return mysql_num_rows( $this->query);
  38.  
  39. }
  40.  
  41. }
  42.  
  43. ?>
  44.  
Go to the top of the page
+Quote Post
viking
post 1.06.2016, 11:35:03
Post #16





Grupa: Zarejestrowani
Postów: 6 378
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


# oznacza komentarz. Możesz tam wpisywać x głupot i to dalej będzie niewidoczne. Maszyna jest na windows więc dotyczy ją firewall win. Jeśli są po drodze jakieś inne albo routing sieciowy inaczej ustawiony / firewalle obce, to już w twojej gestii jest to sprawdzić. Funkcje mysql_* zostały usunięte z PHP 7, nie używaj tego.


--------------------
Go to the top of the page
+Quote Post
dopal
post 1.06.2016, 11:48:22
Post #17





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 9.02.2009

Ostrzeżenie: (0%)
-----


jak usunałem # i restartuje serwer to wyskakują błędy i serwer zostaje zatrzymany
Go to the top of the page
+Quote Post
viking
post 1.06.2016, 11:54:57
Post #18





Grupa: Zarejestrowani
Postów: 6 378
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Czekaj.


Nie jednak dzisiaj kula jakieś głupoty pokazuje.

Ale tak szczerze. Z takim poziomem wiedzy chcesz udostępnić serwer firmowy, być może z ważnymi danymi, na zewnątrz? Nie obraź się ale to poważna głupota.


--------------------
Go to the top of the page
+Quote Post
dopal
post 1.06.2016, 12:10:26
Post #19





Grupa: Zarejestrowani
Postów: 131
Pomógł: 0
Dołączył: 9.02.2009

Ostrzeżenie: (0%)
-----


Cytat(viking @ 1.06.2016, 12:54:57 ) *
Czekaj.


Nie jednak dzisiaj kula jakieś głupoty pokazuje.

Ale tak szczerze. Z takim poziomem wiedzy chcesz udostępnić serwer firmowy, być może z ważnymi danymi, na zewnątrz? Nie obraź się ale to poważna głupota.

smile.gif
Akurat te dane i tak są udostępniane...tylko, że trzeba je dwa razy wpisywać. Raz lokalnie w sieci, a drugi raz na www.
Nie obrażam się i mam świadomość zagrożeń, nie wszystko człowiek wie. Inna sprawa gdyby ta sieć lokalna była dobrze zrobiona, ale tu niestety wszystko działa jako prowizorka.
A człowiek chciałby sie czegoś nauczyć nowego smile.gif

Ten post edytował dopal 1.06.2016, 12:25:47
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.06.2025 - 05:04