Bazy danych MySQL ułatwiają przechowywanie większych zbiorów informacji w uporządkowany sposób. Są one powszechnie wykorzystywane przez wiele aplikacji. Trzeba najpierw utworzyć bazę danych, a następnie utworzyć użytkowników, którzy będą z niej korzystać. Użytkownicy muszą posiadać odpowiednie uprawnienia do bazy danych (np. do odczytu i/lub do zapisu).

Poniżej znajduje się widok opcji związanych z bazami danych. cPanel oferuje kreator baz MySQL, który znacznie upraszcza stworzenie poprawnej bazy danych.

Screen - baza

W kolejnym oknie należy podać nazwę bazy danych, którą chcemy utworzyć:

Screen - baza

Stworzona nazwa bazy będzie powiązana z nazwą konta na serwerze, przykładowo jeśli chcemy utworzyć bazę o nazwie baza1 to jej całkowita nazwa będzie nazwa_konta_baza1. Następnie proszę kliknąć następny krok.

Teraz można dodać użytkownika oraz przypisać mu hasło. W zamieszczonym przykładzie utworzono użytkownika o nazwie osoba1 podając również hasło, aby zatwierdzić klikamy na utwórz użytkownika.

Screen - baza

W trzecim kroku należy określić uprawnienia utworzonego użytkownika, czyli w naszym przypadku osoba1.

Screen - baza

Po kliknięciu następny krok użytkownik został poprawnie utworzony i zostały mu przypisane uprawnienia. W następnym oknie mamy możliwość stworzenia nowej bazy danych lub nowego użytkownika w Menedżerze baz MySQL.

Screen - baza

Menedżer baz MySQL

Menedżer ten daje nam możliwość tworzenia zarówno nowej bazy, nowych użytkowników, jak również możliwość przypisywania użytkowników do poszczególnych baz danych oraz usuwanie baz danych i użytkowników. Warto wiedzieć, że jeden użytkownik może być przypisany do kilku baz danych.

Dodać nową bazę danych można przy użyciu następującego formularza:

Screen - baza

Menedżer umożliwia również przegląd aktualnie utworzonych baz danych oraz przypisanych do nich użytkowników, co widoczne jest w oknie poniżej.

Screen - baza

Dodać nowego użytkownika możemy przy użyciu następnego formularza, w którym należy podać nazwę użytkownika oraz hasło. Na podstawie pola Siła hasła widać czy nasze hasło jest bezpieczne i trudne do odgadnięcia.

Screen - baza

Aby dany użytkownik miał dostęp do wybranej bazy danych, należy go dodać do wybranej bazy i nadać mu uprawnienia. Zarówno użytkownika jak i bazę wybieramy za pomocą rozwijanego menu, następnie należy kliknąć Dodaj.

Screen - baza

Poniżej widać listę utworzonych użytkowników, gdzie mamy możliwość ich usuwania, co spowoduje ich automatyczne usunięcie z baz danych, do których byli przypisani.

Screen - baza

Łączenie z MySQL w aplikacjach

W konfiguracji oprogramowania łączącego się z bazami MySQL na naszym serwerze, jako adres serwera należy użyć localhost. Pozostałe parametry czyli nazwa bazy danych, nazwa użytkownika oraz hasło muszą być zgodne z utworzonymi uprzednio w cPanelu.

phpMyAdmin

Aby skorzystać z wygodnego narzędzia do administracji bazami danych MySQL phpMyAdmin, należy zalogować się do cPanelu, gdzie należy wybrać narzędzie phpMyAdmin.

Problemy z połączeniem z bazą danych

Twoja aplikacja nie może połączyć się z bazą danych? Sprawdź w pierwszej kolejności następujące kwestie:

  • Czy podałeś prawidłową nazwę użytkownika?
  • Czy hasło dla tego użytkownika bazy jest prawidłowe?
  • Czy podałeś prawidłową nazwę bazy danych?
  • Czy użytkownik ma nadane uprawnienia do tej bazy danych?
  • Czy serwer MySQL, z którym łączy się aplikacja, to localhost?

Zmiana sql_mode

Na naszych serwerach hostingowych używamy MySQL w wersji 8. Jest to aktualna, wspierana wersja, która zapewnia wysoki poziom wydajności oraz bezpieczeństwa.

Zdajemy sobie sprawę, iż wielu naszych klientów korzysta ze starszego oprogramowania, dla którego nie zawsze jest możliwość aktualizacji, lub też aktualizacja nie jest opłacalna ekonomicznie.

Wsparcie dla baz danych MySQL oferujemy od wersji PHP 5.2 (w ramach linii serwerów BIZNES).

W niektórych przypadkach, aby starsze oprogramowanie mogło korzystać z MySQL w wersji 8, konieczne jest dostosowanie trybu SQL w zmiennej sql_mode.

Ustawienia domyślne na naszych serwerach są zgodne z zaleceniami MySQL. Domyślny sql_mode jest następujący:

ONLY_FULL_GROUP_BY,​STRICT_TRANS_TABLES,​NO_ZERO_IN_DATE,​NO_ZERO_DATE,​ERROR_FOR_DIVISION_BY_ZERO,​NO_ENGINE_SUBSTITUTION

Jest to ustawienie globalne dla każdego serwera i nie mamy możliwości zmiany go indywidualnie dla pojedynczego konta.

Najczęściej obserwujemy problemy z kompatybilnością związane z trybem ONLY_FULL_GROUP_BY w instalacjach Drupal lub SoteShop.

W takim wypadku istnieje jednak możliwość ustawienia trybu indywidualnie dla danego oprogramowania poprzez modyfikację w jego kodzie. Bezpośrednio po poleceniu mysql_connect lub mysqli_connect należy wywołać polecenie MySQL:

SET SESSION sql_mode = ''"

na przykład w PHP jako:

mysqli_query($conn, "SET SESSION sql_mode = ''");

Przykładowa zmiana sql_mode w konektorze MySQL starej wersji Drupal:
Konektor MySQL w Drupal
Przykładowa zmiana sql_mode w konektorze MySQL w SOTESHOP:
Konektor MySQL w Sote Shop