Autor | Zpráva | ||
---|---|---|---|
speedees Profil |
#1 · Zasláno: 16. 4. 2009, 00:55:04
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 |
#2 · Zasláno: 16. 4. 2009, 06:02:35
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 |
#3 · Zasláno: 16. 4. 2009, 07:17:00
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 |
#4 · Zasláno: 16. 4. 2009, 08:13:11
„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 |
#5 · Zasláno: 16. 4. 2009, 09:09:40
„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 |
#6 · Zasláno: 16. 4. 2009, 10:46:52
Dobrý, admin napsal adresu a už to šlape.
Díky za odpovědi. |
||
Časová prodleva: 15 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0