Mysql ćwiczenie 3.

Transkrypt

Mysql ćwiczenie 3.
MySQL - tworzenie bazy danych i
użytkownika
Logujemy się do MySQL na użytkownika root:hasło puste
mysql -u root -p
Tworzymy bazę:
mysql> create database mojabaza character set utf8 collate utf8_polish_ci;
Tworzymy użytkownika:
mysql> grant all on mojabaza.* to 'mojuser'@'localhost' identified by 'hasło';
mysql> flush privileges;
GRANT oraz REVOKE
polecenia: GRANT i REVOKE, czyli tworzenie użytkownika oraz nadawanie i odbieranie
uprawnień.
Pierwszym etapem tworzenia bazy danych jest stworzenie tabel w których przechowywane będą
później wszelkie dane. Zanim jednak do tego przystąpimy niektóre serwery będą wymagały
zalogowania się przy pomocy nazwy użytkownika i jego hasła. Możemy w tym przypadku
korzystać z konta administratora skonfigurowanego podczas instalacji serwera baz danych. Innym
rozwiązaniem jest utworzenie nowego użytkownika i dodanie go do bazy danych.
Powyższą czynność wykonamy przy użyciu polecenia GRANT, którego składnia jest następująca:
GRANT lista_praw_dostępu ON nazwa_tabeli TO nazwa_uzytkownika
Pole „lista_praw_dostępu” może zawierać jedno, lub kilka z poniższych uprawnień:
• SELECT– odczytanie danych z tabeli
• INSERT – wstawianie danych do tabeli
• UPDATE – modyfikowanie danych w tabeli
• DELETE – usunięcie danych z tabeli
• REFERENCE – odwoływanie się do innych tabel
• CREATE – tworzenie nowych tabel i baz danych
• DROP – usuwanie tabel oraz baz danych
• ALL PRIVILEGES – wszystkie dostępne uprawnienia
Pole „nazwa tabeli” określa tabelę do której przyznajemy uprawnienia użytkownikowi wskazanemu
w „nazwa użytkownika”.
Przykład 1:
Utworzymy użytkownika o nazwie „biuro” któremu nadamy prawa tylko do odczytu, wstawiania
oraz modyfikowania danych, a więc SELECT, INSERT, UPDATE dla tabeli o nazwie „klienci”.
GRANT SELECT, INSERT, UPDATE ON klienci TO biuro
Przykład 2:
Tworzymy użytkownika o nazwie „szef” któremu nadajemy wszelkie możliwe uprawnienia dla
tabeli „klienci”.
GRANT ALL PRIVILEGES ON klienci TO szef
Przykład 3:
W pierwszym przykładzie utworzyliśmy użytkownika o nazwie „biuro” nadając mu prawa tylko do
odczytu, wstawiania oraz modyfikowania danych w tabeli. Teraz chcielibyśmy aby mógł również
usuwać dane z tabeli „klienci”.
W tym przypadku możemy ponownie skorzystać z polecenia GRANT podając nazwę wszystkich
praw dla danego użytkownika.
GRANT SELECT, INSERT, UPDATE, DELETE ON klienci TO biuro
SQL umożliwia także odbieranie wcześniej nadanych uprawnień, a służy do tego polecenie
REVOKE, którego składnia jest następująca:
REVOKE lista_praw_dostępu ON nazwa_tabeli FROM nazwa_uzytkownika
Przykład:
Stwierdziliśmy, iż użytkownik „biuro” nie powinien mieć możliwości wstawiania nowych danych
do tabeli „klienci”. Należy więc usunąć mu prawo używania polecenia INSERT.
REVOKE INSERT ON klienci FROM biuro
Po wykonaniu ćwiczeń testujemy możliwość zalogowania się na użytkownika szef i biuro