MySQL

Wersja z dnia 15:26, 21 maj 2015 autorstwa Budek (dyskusja) (Przykłady)

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.

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.

Mysql list.png

Zarządzanie bazą

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

Mysql manage db.png

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

Mysql manage db privs edit.png

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

Mysql manage db privs add.png

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).

Mysql add.png

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.

Mysql users.png

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.

Mysql users add.png

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 user del login.

Uprawniania 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 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 deviil 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 uprawniania lub można podawać poszczególne uprawniania, 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

Wszystkie poniższe operacje należy wykonywać po uprzednim zalogowaniu się na 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 > 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 > 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 > 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 > mojakopia.sql