Autor Zpráva
speedees
Profil
Potřebuju se připojit k databázi která je ale na jiném serveru než je skript (ze kterého se připojuju).

Konkrétně:
Do phpMyAdmina ktery je tady
http://ligavozick.skynet.cz:10080/phpmyadmin/
se dostanu v pohode (takze chyba v login a heslu to nebude)

V php skriptu se připojuju takto:

define("SQL_HOST","ligavozick.skynet.cz:10080");
define("SQL_DBNAME",".....");
define("SQL_USERNAME",".....");
define("SQL_PASSWORD",".....");
mysql_connect(SQL_HOST, SQL_USERNAME, SQL_PASSWORD);

Skript vyhodi asi po minutě chybu:
Warning: mysql_connect() [function.mysql-connect]: Lost connection to MySQL server at 'reading initial communication packet', system error: 0 in /var/www/virtual.........

Je tedy možné že ta databáze má zablokovaný vzdálený přístup?
Jak si to ale ověřím na 100 %, že neni chyba v mem skriptu?
Nemam zkusit napsat do SQL_HOSTu něco jiné?

Díky
Hugo
Profil
1) Adresa, kde běží pma se nemusí shodovat s adresou, kde běží mysql.
2) Webhostingy mají velice často zakázané (z dobrých důvodů) připojování k mysql z cizích serverů.

Pokud si to chceš ověřit, tak napiš adminovi, možná se s ním domluvíš a povolí ti přístup.
srigi
Profil
speedees
Je tedy možné že ta databáze má zablokovaný vzdálený přístup?


Ide o to, ze pri pripajani sa k vzdialenemu MySQL serveru, je tvoje prihlasovacie meno ine. Ak MySQL aj webovy server bezia na tej istej masine, tvoj user ziskava automaticky pridomok (nieco ako pripona) "@localhost". Cize plne kvalifikovane meno usera je napr. "root@localhost".

Ked sa vsak pripajas z Internetu, pridomok je vacsinou dopocitany pomocou DNS sluzby a tvoje uzivatelske meno do DB ho preberie, napr. "tvoj_user@t-com-adsl-222.45.5.32". Tento uzivatel ale nema vytvoreny ziadny zaznam v tabulkach uzivatelov MySQL a je preto odmietnuty.

Treba si uvedomit, ze uzivatelia "tvoj_user@localhost" a "tvoj_user@t-com-adsl-222.45.5.32" su uplne oddelene entity, ktore nemaju ziadny suvis. Preto ti PHPMyAdmin bezi, "tvoj_user@localhost" je autorizovany pre MySQL (PHP zrejme bezi na tom istom stroji ako MySQL), ale vzdialeny nie.
nightfish
Profil
http://ligavozick.skynet.cz:10080
je zcela zřejmé, že na této adrese a tomto portu běží HTTP server
ty ses k němu pokusil připojit mysql klientem a komunikace se jim moc nedařila (podle té chybové hlášky)
v pma je po přihlášení vidět i adresa serveru (např. Server: 127.0.0.1 via TCP/IP)
tuhle adresu můžeš zkusit zadat do konfiguračního souboru (pokud to nebude 127.0.0.1 ani 192.168.* ani 10.*)
na druhou stranu jak už psali kolegové, vzdálený přístup bývá většinou zakázán (o čemž tě bude informovat chybová hláška - něco ve smyslu access denied for user '...@...'
speedees
Profil
1) Adresa, kde běží pma se nemusí shodovat s adresou, kde běží mysql.

Aha. To jsem si neuvědomil. Díky.

v pma je po přihlášení vidět i adresa serveru (např. Server: 127.0.0.1 via TCP/IP)
tuhle adresu můžeš zkusit zadat do konfiguračního souboru (pokud to nebude 127.0.0.1 ani 192.168.* ani 10.*)

Jediné co tam najdu je "...běžící na serveru localhost..."
Takže to mi moc nepomůže.

Adresu toho MySQL serveru zjistím jedině tak, že napíšu adminovi?
speedees
Profil
Dobrý, admin napsal adresu a už to šlape.

Díky za odpovědi.
Toto téma je uzamčeno. Odpověď nelze zaslat.