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