Cechą charakterystyczną MySQL jest jego własne bezpieczeństwo, polegające na ochronie zewnętrznej. Jako nowoczesny, w pełni funkcjonalny i wydajny system zarządzania bazą danych, MySQL posiada własne narzędzia do zarządzania użytkownikami i ich dostępem do kontrolowanych przez niego zasobów.
Jeśli nie znasz poprawnej nazwy użytkownika i hasła, dostęp do bazy danych przez MySQL jest bardzo trudny.
W normalnym trybie hostingu to wystarczy. Nieprzewidziane sytuacje, ataki hakerskie i inne problemy to kwestia zewnętrznej administracji systemem i usług bezpieczeństwa. Ta koncepcja stała się tradycyjna i praktycznie nie jest omawiana.
Zainstaluj serwer MySQL i root użytkownika
W jakimkolwiek środowisku operacyjnym zainstalowany jest system zarządzania bazą danych, zawsze ma co najmniej jednego użytkownika: root. Zainstaluj MySQL, utwórz użytkownika ze wszystkimi prawami roota - bez tego pracuj zserwer nie jest możliwy. Uprawnienia tego użytkownika są wystarczające, aby:
- tworzenie i administrowanie nowymi użytkownikami;
- tworzenie i zarządzanie bazami danych.
Fundamentalnie możliwe jest, że użytkownicy „bez hasła” istnieją w MySQL, ale jest to niedopuszczalne.
Powszechna praktyka:
- serwer zainstalowany na własnym komputerze, na którym można zainstalować hosting (opcja lokalna);
- serwer jest na publicznym hostingu w Internecie.
W pierwszym przypadku można pracować z serwerem z wiersza poleceń i używać phpMyAdmin, w drugim tylko phpMyAdmin lub podobnego narzędzia, ale dostęp do wiersza poleceń można uzyskać poprzez zdalny dostęp SSH.
Własne narzędzia administracyjne
Poczucie pokrewieństwa z rodziną Unixoid i przeszłością serwerów Apache to znak rozpoznawczy MySQL: create user to linia poleceń o dziwnej składni. Dla profesjonalistów pracujących z Linuksem i podobnymi systemami jest to tak znajome, jak wygląda dziko w oczach użytkowników Windows, którzy nigdy „nie weszli w prawdziwe życie”.
Tworzenie użytkownika rozpoczyna się od uruchomienia wiersza poleceń serwera. W środowisku Windows odbywa się to w następujący sposób.
Najpierw (1) musisz uruchomić wiersz poleceń jako administrator, następnie przejść do folderu, w którym znajduje się MySQL (2), a następnieuruchom sam serwer (3):
mysql -u… -p
tutaj "-u…" i "-p" to klucze wskazujące na nazwę "…"=root (lub inną nazwę) i jego hasło. Zasadniczo użytkownik nie może być rootem, ale ma uprawnienia „root” (administracyjne).
Ważne: serwer faktycznie zawsze działa, tutaj mysql -u… -p to polecenie dostępu do serwera, a nie jego uruchamiania.
W środowisku Linux i podobnych systemach takie polecenie jest "natywną" akcją i z reguły jest określane po prostu przez uruchomienie mysqld we właściwym miejscu (na właściwej ścieżce), należy to sprawdzić za pomocą administrator. Zwykle jest tu inna nazwa: nie mysql, ale mysqld. Również tutaj ta akcja nie zawsze jest dostępna dla wszystkich użytkowników (systemu operacyjnego, a nie serwera MySQL). W przeciwieństwie do Windows, w Linuxoidach porządek i bezpieczeństwo są naturalnym i niepodlegającym negocjacjom wymogiem, który zawsze jest traktowany w cywilizowany sposób.
W każdym razie, gdy mysql zostanie uruchomiony, poinformuje o tym komunikatem (4):
mysql>
i będzie można pracować zarówno z użytkownikami, jak i bazami danych.
Uwaga. Podczas instalacji w środowisku Windows wszystko: Apache, MySQL, PHP, phpMyAdmin można ustawić na domyślne ścieżki, ale zaleca się używanie bardziej zwartych i bliższych lokalizacji dla tych ważnych narzędzi:
- c:\SCiA\Apache;
- c:\SCiA\PHP;
- c:\SCiA\MySQL;
- …
- c:\SCiB\localhost\www\phpMyAdmin;
- c:\SCiB\site1\www;
- c:\SCiB\site2\www;
- …
- c:\SCiB\siteN\www\.
Ta logika nie tylko uprości administrację, ale także rozszerzy możliwości programisty w zakresie przemieszczania się między wersjami produktów i zarządzania ich funkcjonalnością.
Praca z wierszem poleceń MySQL
Gdy serwer odpowie i udostępni wiersz poleceń, można utworzyć użytkowników i przypisać im uprawnienia.
W tym przykładzie polecenie utworzenia użytkownika utworzyło użytkownika Petrov z hasłem 123DFG. Jeśli popełnisz błąd podczas wpisywania polecenia, serwer proponuje go poprawić, ale lepiej nigdy nie popełniać błędów podczas pracy w wierszu poleceń!
Następujące polecenie przyznaj wszystkie uprawnienia daje wszystkie prawa do wszystkiego. Polecenie flush może zostać pominięte, ale "wyskakuje" bufor poleceń, to znaczy naprawia ich wykonanie.
MySQL: utwórz użytkownika i przyznaj prawa do bazy danych
Polecenie użyte w przykładzie:
PRZYZNAJ WSZYSTKIE PRZYWILEJE NA. 'Pietrow'@'localhost';
właściwie przyznaje użytkownikowi Petrov dostęp do wszystkich baz danych (pierwsza gwiazdka) do wszystkich tabel (druga gwiazdka).
Jako ogólna reguła MySQL, tworzenie użytkownika to:
GRANT [typ uprawnienia] ON [nazwa bazy danych].[nazwa tabeli] TO '[użytkownik]'@'localhost';
Dozwolone są następujące uprawnienia:
- WSZYSTKIE PRZYWILEJE - wszystkie prawa.
- CREATE - prawo do tworzenia nowych tabel/baz danych.
- DROP - prawo do upuszczania tabel/baz danych.
- DELETE - prawo do usuwania informacji w tabelach.
- INSERT - prawo do zapisywania informacji w tabelach.
- SELECT - prawo do odczytywania informacji z tabel.
- AKTUALIZACJA - prawo do aktualizacji informacji w tabelach.
- OPCJA PRZYZNANIA - prawo do pracy z uprawnieniami innych użytkowników.
Z praktycznego punktu widzenia, w MySQL "utwórz użytkownika" implikuje trzy opcje praw:
- wszystkie prawa do wszystkich baz danych i wszystkich użytkowników;
- czytać i pisać;
- tylko do odczytu.
Inne opcje przyznawania praw są rzadko wymagane. W środowisku Linux jest znacznie więcej podstaw do „prawnej” wolności (i konieczności), ale jest tam znacznie więcej możliwości niż w Windows.
Odwrotną operacją MySQL "utwórz użytkownika" jest drop.
upuść użytkownika 'Piotr'@'localhost';
Po wykonaniu tego polecenia Pietrow nie będzie już użytkownikiem, a jego uprawnienia zostaną utracone. Aby zmienić uprawnienia, użyj polecenia:
REVOKE [uprawnienie] ON [DB].[Tabela] TO '[user]'@'localhost';
Zwykłym działaniem w MySQL jest utworzenie użytkownika lub usunięcie go, ale zmiana uprawnień jest również prawidłową operacją (rzadko wymagana).
Korzystanie z phpMyAdmin
Istnieje wiele implementacji tego wspaniałego narzędzia. W zależności od używanej wersji Apache, PHP i MySQL, znalezienie odpowiedniej wersji tego produktu często zajmuje dużo czasu, ale po pomyślnym zainstalowaniu phpMyAdmin użytkownik ma do dyspozycji wiele wygodnych funkcji i komfortinterfejs.
Używając phpMyAdmin, możesz nakazać MySQL, aby utworzył użytkownika dla dowolnego hosta i zarządzał istniejącymi użytkownikami w sposób zbliżony do chirurgicznego.
phpMyAdmin nie jest jedynym narzędziem z wygodnym, intuicyjnym i bogatym w funkcje interfejsem, ale jest najpopularniejszym narzędziem do administrowania serwerami MySQL.
Informacje o wierszu poleceń i zabezpieczeniach
Oczywiście korzystanie z wiersza poleceń MySQL jest mało atrakcyjnym ćwiczeniem, ale należy pamiętać, że w niektórych przypadkach tylko wiersz poleceń serwera może zapisać bazę danych lub użytkownika, zapewnić import lub eksport informacji.
Wersje oprogramowania ewoluują tak szybko, że programiści po prostu nie mają czasu na łączenie funkcji, na przykład PHP i MySQL, MySQL i phpMyAdmin. Jeśli coś się stanie, wiersz poleceń zawsze uratuje dzień.
Nigdy nie należy również zapominać: administracja MySQL polega tylko na dostępie do jego baz danych i poprzez jego funkcjonalność. Pliki bazy danych są dostępne poza MySQL. Zewnętrzne zabezpieczenie MySQL i kontrolowanych przez niego zasobów jest realną i ważną potrzebą.