Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Baza mysql na innym serwerze
olo21
post
Post #1





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 24.02.2006

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


Witam,
czy żeby połączyć się z bazą mysql na innym serwerze wystarczy w mysql_connect zamiast localhost wpisać host na którym znajduje się baza danych?
Jak sprawdzić czy możena się zdalnie łączyć z taką bazą nie angażując w to admina?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
mike
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Cytat(olo21 @ 3.01.2008, 21:01:09 ) *
czy żeby połączyć się z bazą mysql na innym serwerze wystarczy w mysql_connect zamiast localhost wpisać host na którym znajduje się baza danych?
Serwer MySQL'a musi mieć ustawione akceptowanie połączeń z zewnątrz.
Cytat(olo21 @ 3.01.2008, 21:01:09 ) *
Jak sprawdzić czy możena się zdalnie łączyć z taką bazą nie angażując w to admina?
Empiryzm
Go to the top of the page
+Quote Post
olo21
post
Post #3





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 24.02.2006

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


tak też myślałem.
Wywala mi błąd, że brak połączenia z bazą danych.
Jeszcze taka kwestia, wyświetla taki błąd:
Kod
Warning: mysql_connect() [function.mysql-connect]: Access denied for user
nazwa_usera@tizer.dreamhost.com'@'localhost'

Dlaczego dołącza mi jeszcze to "localhost"? Może przez to?
Łączenie mam tak zrobione:
Kod
define('SQL_HOST', 'adres_hosta);
define('SQL_DB', 'baza');
define('SQL_USER', 'nazwa_usera@tizer.dreamhost.com');
define('SQL_PASS', 'jakies-haslo');
$mysql = mysql_connect(SQL_HOST, SQL_USER, SQL_PASS);
Go to the top of the page
+Quote Post
Cezar708
post
Post #4





Grupa: Zarejestrowani
Postów: 1 116
Pomógł: 119
Dołączył: 10.05.2005
Skąd: Poznań

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


Cytat
define('SQL_HOST', 'adres_hosta);


... brakuje Ci apostrofu na końcu, ale to pewnie wywołałoby błąd składni.

innym problemem może być nieotwarcie portów mysql dla połączeń z zewnątrz. Domyślnie z przyczyn bezpieczeństwa porty są zamknięte dla połączeń z wewnątrz. Otwórz je (lub poproś admina) i sytuacja powinna się trochę poprawić.
Go to the top of the page
+Quote Post
olo21
post
Post #5





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 24.02.2006

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


Cytat(Cezar708 @ 4.01.2008, 12:41:36 ) *
... brakuje Ci apostrofu na końcu, ale to pewnie wywołałoby błąd składni.

to mój błąd jak edytowałem posta, w kodzie jest ok.
Chciałbym tylko wiedizeć, czy na 100% jest to wina serwera z b.d. że nie dopuszcza połączeń z zewnątrz.

Ten post edytował olo21 4.01.2008, 16:03:40
Go to the top of the page
+Quote Post
Cezar708
post
Post #6





Grupa: Zarejestrowani
Postów: 1 116
Pomógł: 119
Dołączył: 10.05.2005
Skąd: Poznań

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


ja osobiście na 100% nie jestem w stanie Ci powiedzieć, czy to jest wina nie otwartych portów. Wiem, tylko że to może być najbardziej prawdopodobna przyczyna. Rzadko ktoś udostępnia serwer bazy danych z sieci...

jeśli to się potwierdzi a administrator nie będzie chciał Ci włączyć portów to może użyjesz SOAP (np nusoap). Jest rozwiązanie gorsze (dla tego przypadku), ale jeśli nie ma innych możliwości...
Go to the top of the page
+Quote Post
webdice
post
Post #7


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




W bazie danych na zdalnym hoscie masz bazę mysql, w tabeli users masz pole host, musisz zmienić wartość z:

Kod
localhost


na

Kod
%


lub na host z którego się łączysz. Jeśli nie masz root'a do bazy to bez interwencji administratora się nie obejdzie.
Go to the top of the page
+Quote Post
olo21
post
Post #8





Grupa: Zarejestrowani
Postów: 9
Pomógł: 0
Dołączył: 24.02.2006

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


dzięki, nie mam uprawnień żeby zmienić pole host, ale napisałem do admina.
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 Aktualny czas: 20.08.2025 - 05:11