MySQL
MySQL to wolnodostępny system zarządzania relacyjnymi bazami danych. Zarządzanie jest dostępne z panelu administracyjnego, phpMyAdmin i po zalogowaniu poleceniem devil mysql
.
Adres serwera MySQL jest zależny od numeru serwera shell. Dla serwera s0.mydevil.net będzie to adres mysql0.mydevil.net, dla serwera s1.mydevil.net mysql1.mydevil.net, dla serwera s2.mydevil.net mysql2.mydevil.net itd. W przykładach użyto adresu mysqlX.mydevil.net.
Spis treści
DevilWEB
Po zalogowaniu się do panelu administracyjnego zarządzanie bazami MySQL znajduje się w zakładce Bazy 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ępnie zarzą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 wybrać nazwę i hasło.
Łączenie się do bazy z zewnętrznego hosta
Pole host może zostać wypełnione adresem IP (np. 10.10.10.1
) lub znakiem %
, który oznacza dowolny adres IP.
Aby połączyć się do bazy danych z zewnętrznego hosta 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 dowolnego adresu IP.
Devil
Konfiguracja MySQLa 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 - nazwa użytkownika, który zostanie automatycznie utworzony, jeśli istnieje zostaną mu nadane wszystkie uprawnienia do wskazanej bazy,
- --collate= - 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 myssql 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
lub -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
Aby połączyć się w trybie tekstowym (zdalnie) do bazy danych należy skorzystać z polecenia mysql -h mysqlX.mydevil.net -u użytkownik_bazy -p
Wszystkie poniższe operacje należy wykonywać po uprzednim zalogowaniu się przez ssh.
Wrzucenie bazy danych (UTF-8):
mysql --host mysqlX.mydevil.net --user użytkownik_bazy -p nazwa_bazy < mojakopia.sql
Zrzut bazy danych (UTF-8):
mysqldump --host mysqlX.mydevil.net --user użytkownik_bazy -p nazwa_bazy --no-tablespaces > mojakopia.sql
Zrzut bazy danych razem z procedurami składowymi (UTF-8):
mysqldump --routines --host mysqlX.mydevil.net --user użytkownik_bazy -p nazwa_bazy --no-tablespaces > mojakopia.sql
Zrzut bazy danych (Latin1/cp1252/ISO 8859-1):
mysqldump --default-character-set=latin1 --host mysqlX.mydevil.net --user użytkownik_bazy -p nazwa_bazy --no-tablespaces > mojakopia.sql
Zrzut bazy danych (Latin2/ISO 8859-2):
mysqldump --default-character-set=latin2 --host mysqlX.mydevil.net --user użytkownik_bazy -p nazwa_bazy --no-tablespaces > mojakopia.sql
Łączenie się do bazy z zewnętrznego hosta
Domyślnie host wszystkich użytkowników baz MySQL jest ustawiony na %.devil
, co powoduje, że nie można się zalogować do bazy spoza danego serwera MyDevil. W poniższym przykładzie zostanie dodana możliwość logowania się na użytkownika m1000 z dowolnego adresu ze wszystkimi prawami do bazy m1000_baza.
- Dozwolone logowanie się z każdego adresu -
devil mysql access add m1000@%
- Dodanie wszystkich uprawnień do bazy m1000_baza użytkownikowi m1000 zalogowanemu z dowolnego adresu -
devil mysql privileges m1000@% m1000_baza +ALL