Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Błąd podczas łączenia z bazą danych
Forum PHP.pl > Forum > Bazy danych > MySQL
bonanza
Witam, mam problem.

Skopiowałem portal na pewnym autorskim cms'ie na nowy hosting. Ze starego hostingu wyeksportowałem również bazę danych SQL, nazwijmy ją: staryhost_baza.

Przez ftp wrzuciłem pliki strony na nowy hosting. Na nowym hostingu utworzyłem również bazę danych, nazwijmy ją: nowyhost_baza. Nadałem jej użytkownika o pełnych prawach, nazwijmy go: nowyhost_baza, hasło: 1234.

Plik z zrzutem bazy danych wyedytowałem w taki sposób, aby wszelkie wpisy "staryhost_baza" zmieniły się na "nowyhost_baza". Usunąłem wpis CREATE DATABASE oraz USE.

Całą zawartość zrzutu wyeksportowałem do nowo utworzonej bazy danych o nazwie "nowyhost_baza". W panelu PhpMyAdmin wszystko wygląda ok. Cała zawartość bazy danych się zgadza (kodowanie również ok).

Plik konfiguracyjny cms'u wyedytowałem w następujący sposób:

adres serwera bazy danych: 192.168.xxx.xxx (na nowym hostingu baza nie leży na localhoście, o czym dostawca hostingu informuje)
nazwa użytkownika bazy danych: "nowyhost_baza"
nazwa bazy danych: "nowyhost_baza"
hasło: 1234

W tym momencie pojawia się następujący problem:
Po przeładowaniu strony dostaję na przemian 2 komunikaty:

  1. 2005 - Unknown MySQL server host 'DB_SERVER' (1)


  1. 2013 - Lost connection TO MySQL server at 'reading initial communication packet', system error: 113



Spróbowałem połączyć się z ową bazą danych za pomocą prostego skryptu php.

  1. <?php
  2.  
  3.  
  4. $host = '192.168.xxx.xxx;
  5. $username = 'nowyhost_baza';
  6. $password = '1234';
  7. $database = 'nowyhost_baza';
  8.  
  9. $connection = @mysql_connect($host, $username, $password)or die("ERR: ".mysql_error());
  10. echo "Server OK!<br />\n";
  11.  
  12. $db = @mysql_select_db($database, $connection)or die("ERR: ".mysql_error());
  13. echo "Database OK!<br />\n";
  14. ?>


Skrypt ten wykonuje się prawidłowo. Łączy się z serwerem i bazą danych.

Jedyne co przychodzi mi do głowy, to fakt, że w cPanelu rozmiar bazy wynosi 0.00 MB. W rzeczywistości jest to ok. 400KB. Oprócz tego na starym hostingu jako serwer baz danych używany był MySql. Na nowym zaś Percona SQL Server

Nie wiem co to może być, kombinowałem już na wiele sposobów. Nie miałem dotychczas wiele styczności z bazami danych, tak więc nie wiem od której strony się za to zabrać. sciana.gif


Proszę o pomoc

pozdrawiam
Prezi2907
Witam

Problem wygląda tak jak by baza miałą INNY port niż standardowy (nazwa ma jakoś tak że 3306 - strzelam bo już dawno nie używałem)...

Sprawdź to w pierwszej kolejności. Jeżeli nie port to powiedz na jakim hostingu to trzymasz, może to podsunie rozwiązanie smile.gif

Po drugie (wiem że to niezbyt fajne przerabiać cały kod - ja tak zrobiłem) zmień z mysql na mysqli wszystko bo będziesz miał w nowych wersjach PHP problemy smile.gif

Edit:
Ten skrypt z rozwiązaniem ma podany adres IP. Nazwa wymaga wpisania swojego adres np. mysql.prezi.pl i port 3306 (nazwa strzelona ale mniej/więcej chce pokazać zależność)
bonanza
Miałeś rację Prezi2907. Problem polegał na tym, że baza danych siedziała na niestandardowym porcie. Uzupełnienie numeru portu rozwiązało problem.

Dzięki za pomoc smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.