Przejdź do treści

MySQL

MySQL to wolnodostępny system zarządzania relacyjnymi bazami danych. Zarządzanie jest dostępne z panelu administracyjnego, phpMyAdmin i po zalogowaniu na SSH poleceniem: devil mysql.

Uwaga

Adres serwera MySQL jest zależny od numeru serwera. Dla serwera s0.small.pl będzie to adres mysql0.small.pl, dla serwera s1.small.pl - mysql1.small.pl, dla serwera s2.small.pl - mysql2.small.pl itd. W przykładach użyto adresu mysqlX.small.pl

DevilWEB

Po zalogowaniu się do panelu administracyjnego zarządzanie bazami MySQL znajduje się w zakładce MySQL. Po kliknięciu pokazuje się lista baz danych.

Bazy MySQL - lista baz

Zarządzanie bazą

  • Aby zmienić uprawnienia dostępu do bazy należy kliknąć przycisk Zarządzaj i następnie zarządzaj uprawnieniami.

Bazy MySQL - zarządzanie

  • Można modyfikować uprawnienia dla wszystkich hostów użytkownika wybierając niebieski przycisk lub wybrać konkretny host.

Bazy MySQL - uprawnienia

  • Aby dodać uprawnienia do bazy danych użytkownikowi należy kliknąć + Dodaj uprawnienia.

Dodanie bazy danych

Aby dodać nową bazę danych MySQL należy kliknąć + Dodaj bazę. Po załadowaniu się strony trzeba wybrać:

  • nazwę bazy
  • nazwę i hasło nowego użytkownika (bądź wybranie istniejącego użytkownika)
  • opcjonalnie metodą porównywania znaków (po rozwinięciu opcji zaawansowane ustawienia).

Bazy MySQL - dodaj baze

Lista użytkoników

Aby wyświetlić listę użytkowników należy kliknąć Użytkownicy. Przy dodanych użytkownikach jest możliwość edycji hostów, z których możliwe jest logowanie oraz możliwość zmiany hasła.

Bazy MySQL - lista użytkowników

Dodanie użytkownika

Aby dodać nowego użytkownika należy kliknąć + Dodaj użytkonika. Po załadowaniu się strony trzeba wpisać nazwę i hasło.

Bazy MySQL - dodaj użytkownika

Łączenie się do bazy spoza SMALL.PL

Informacja

Pole host może zostać wypełnione adresem IP (np. 10.10.10.1), hostem (np. example.pl) lub znakiem %, który oznacza dowolny adres IP.

Aby połączyć się do bazy danych spoza SMALL.PL należy:

  • Kliknąć Zarządzaj hostami na liście użytkowników przy wybranym użytkowniku
  • Kliknąć + Dodaj dostęp z nowego adresu.
  • Wypełnić pole host i kliknąć + Dodaj.
  • Kliknąć Zarządzaj na liście baz danych przy wybranej bazie.
  • Kliknąć + Dodaj uprawnienia.
  • Wybrać dodany wcześniej host i kliknąć + Dodaj.
  • Wybrany wcześniej użytkownik ma teraz dostęp do wybranej bazy danych z podanego adresu IP.

Devil

Konfiguracja MySQL jest również możliwa z SHELLa za pomocą modułu devil mysql.

Dodawanie i usuwanie bazy

Dodawanie bazy danych MySQL odbywa się za pomocą polecenia: devil mysql db add NAZWA_BAZY [LOGIN] [--collate=...] gdzie argumentami są:

  • NAZWA_BAZY - nazwa bazy danych
  • LOGIN - (opcjonalnie) nazwa użytkownika, który zostanie automatycznie utworzony, jeśli istnieje zostaną mu nadane wszystkie uprawnienia do wskazanej bazy
  • --collate=... - (opcjonalnie) pozwala wybrać metodę porównywania znaków

Usuwanie bazy danych MySQL odbywa się za pomocą polecenia: devil mysql db del NAZWA_BAZY.

Dodawanie i usuwanie użytkowników

Dodawanie użytkownika MySQL odbywa się za pomocą polecenia: devil mysql user add LOGIN gdzie LOGIN to jego nazwa. Po jego utworzeniu należy ręcznie ustawić jego uprawnia dla wybranej bazy danych. Aby usunąć użytkownika MySQL należy posłużyć się poleceniem: devil mysql user del LOGIN

Zmiana hasła użytkownika

Zmiana hasła odbywa się poleceniem: devil mysql passwd LOGIN

Uprawnienia użytkowników

Pierwszym etapem nadawania uprawnień użytkownikom jest dodawanie dostępu ze wskazanego adresu. Aby to zrobić należy skorzystać z polecenia: devil mysql access add LOGIN@HOST gdzie LOGIN to nazwa wcześniej utworzonego użytkownika, a HOST to domena, adres IP bądź maska MySQL. Następnie dodanej wcześniej kombinacji LOGIN@HOST trzeba zmienić uprawnienia korzystając z polecenia devil mysql privileges LOGIN[@HOST] NAZWA_BAZY UPRAWNIENIA. UPRAWNIENIA to uprawnienia MySQL, które mają ulec zmianie. Dozwolone są makra +ALL oraz -ALL, które ustawiają lub usuwają wszystkie uprawnienia lub można podawać poszczególne uprawnienia, przykładowo: -INSERT +SELECT.

Lista baz i użytkowników

Aby otrzymać listę wszystkich baz danych i użytkowników należy skorzystać z polecenia devil mysql list [-v]. Użycie przełącznika -v dodatkowo pokaże uprawnienia.

Przykłady

Informacja

Aby połączyć się w trybie tekstowym (zdalnie) do bazy danych należy skorzystać z polecenia: mysql -h mysqlX.small.pl -u UŻYTKOWNIK_BAZY -p gdzie X to numer serwera.

Wszystkie poniższe operacje należy wykonywać po uprzednim zalogowaniu się przez SSH.

  • Import bazy danych (UTF-8):

    mysql --host mysqlX.small.pl --user UŻYTKOWNIK_BAZY -p NAZWA_BAZY < MOJA_KOPIA.sql
    

  • Export bazy danych (UTF-8):

    mysqldump --host mysqlX.small.pl --user UŻYTKOWNIK_BAZY -p NAZWA_BAZY --no-tablespaces > MOJA_KOPIA.sql
    

  • Export bazy danych razem z procedurami składowymi (UTF-8):

    mysqldump --routines --host mysqlX.small.pl --user UŻYTKOWNIK_BAZY -p NAZWA_BAZY --no-tablespaces > MOJA_KOPIA.sql
    

  • Export bazy danych (Latin1/CP1252/ISO 8859-1):

    mysqldump --default-character-set=latin1 --host mysqlX.small.pl --user UŻYTKOWNIK_BAZY -p NAZWA_BAZY --no-tablespaces > MOJA_KOPIA.sql
    

  • Export bazy danych (Latin2/ISO 8859-2):

    mysqldump --default-character-set=latin2 --host mysqlX.small.pl --user UŻYTKOWNIK_BAZY -p NAZWA_BAZY --no-tablespaces > MOJA_KOPIA.sql
    

Łączenie się do bazy spoza SMALL.PL

Domyślnie host wszystkich użytkowników baz MySQL jest ustawiony na %.devil, co powoduje, że nie można się zalogować do bazy spoza systemów SMALL.PL. W poniższym przykładzie zostanie dodana możliwość logowania się na użytkownika m1111 z dowolnego adresu ze wszystkimi prawami do bazy m1111_baza.

  • Dozwolone logowanie z każdego adresu: devil mysql access add m1111@%
  • Dodanie wszystkich uprawnień do bazy m1111_baza użytkownikowi m1111 zalogowanemu z dowolnego adresu: devil mysql privileges m1111@% m1111_baza +ALL