Jak dostać się do bazy danych MySQL?

Utworzyłem bazę danych korzystając z PhpMyAdmin dostępnego w cPanelu, założyłem użytkownika, i niestety przy próbie dostępu do bazy danych pojawia się błąd "Access denied for user...". Jak dostać się do bazy danych MySQL?

Odpowiedź

Aby dostać się do bazy danych nalezy sprawdzić, czy spełnione są nast. warunki:

  • Upewnij się, czy Twój pakiet hostingowy pozwala na posługiwanie się bazą danych MySQL.
    W tym celu należy zalogować się do menedżera cPanel i sprawdzić na lewej listwie ile jest baz danych w pakiecie, i ile jest wolnych.
  • Utwórz bazę danych, użytkownika oraz udziel użytkownikowi prawa do korzystania z bazy danych.
    W tym celu należy zalogować się do menedżera cPanel i skorzytać z opcji "MySQL® Databases", kolejne operacje to "Create Database", "Create User" oraz "Add User to Database"
    (w zależności od wersji cPanel`a)
  • Sprawdź, czy skrypt php, którym otwierasz bazę danych, wygląda podonie do publikowanego przez nas wzoru:

    // poniżej nazwa serwera - w tym przykładzie jest to localhost,
    // jesli chcesz skorzystac z innego, zewnętrznego serwera, skontaktuj sie z root@hards.pl
    $SQLhostname = 'localhost';
    // poniżej nazwa bazy danych - pierszy jej człon jest zawsze tak jak nazwa konta uniksowego ( 'main')
    $SQLdatabase = 'konto_baza';
    // poniżej nazwa konta z dostępem do bazy, konto 'main' ma dostęp domyślnie
    $SQLusername = 'konto_user';
    // poniżej haslo
    $SQLpassword = ''haslo";
    // tak łączymy się do bazy
    $conn = mysql_connect($SQLhostname,$SQLusername,$SQLpassword);
    mysql_select_db($SQLdatabase,$conn);
    mysql_query('SET NAMES latin2'); lub  mysql_query('SET NAMES utf8')

Przykład z obsługą błędu połączenia

$conn = mysql_connect($SQLhostname,$SQLusername,$SQLpassword);
if($conn)  { mysql_select_db($SQLdatabase,$conn); }
else { exit('
ERROR in database connection. Please retry later.') ; }
mysql_query("SET NAMES utf8");