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.
Zarządzanie bazą¶
- Aby zmienić uprawnienia dostępu do bazy należy kliknąć przycisk
Zarządzaj
i następniezarządzaj uprawnieniami
.
- Można modyfikować uprawnienia dla wszystkich hostów użytkownika wybierając niebieski przycisk lub wybrać konkretny host.
- 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
).
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.
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
.
Łą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 danychLOGIN
- (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żytkownikowim1111
zalogowanemu z dowolnego adresu:devil mysql privileges m1111@% m1111_baza +ALL