Wyobraź sobie bibliotekę, gdzie każdy może wejść i dokonywać zmian w książkach w dowolnym czasie.
Przychodzisz sprawdzić Władca Pierścieni, ale nagle, zamiast ponadczasowej opowieści o przyjaźni i odwadze w obliczu wszechogarniającego zła, jest dokładnie na odwrót.
Ktoś przepisał heroiczna podróż Froda i Sama do Mordoru, sprawiając, że zrezygnowali z ratowania Śródziemia, aby zamiast tego otworzyć sklep jubilerski w Bree. Ich pierwszym klientem? Sauron. I czyżbyś wiedział, on szuka pierścienia.
Jeśli chodzi o Aragorna, Legolasa i Gimliego? Powiedzmy tylko, że ktoś, kto edytował tę historię, jest bardzo zaangażowany w fan fiction. Na tym poprzestaniemy.
Twoja strona internetowa jest jak ta biblioteka, a baza danych, która ją napędza, jest jak wszystkie książki w niej. Jeśli dasz prawie każdemu dostęp, aby wszedł i dokonał zmian, możesz skończyć z sytuacją przepisania Władcy Pierścieni — ale o wiele gorzej, ponieważ może to narazić całą Twoją stronę (i wszystkie jej dane) na ryzyko.
Baza danych
Baza danych to zbiór informacji dostępnych dla komputerów. Bazy danych służą do przechowywania takich informacji jak dane klientów, katalogi produktów oraz transakcje finansowe.
Czytaj więcejDlatego musisz kontrolować, kto może widzieć, uzyskiwać dostęp i modyfikować Twoje dane, aby utrzymać bezpieczeństwo strony i jej płynne działanie.
Ten post przeprowadzi Cię przez podstawy zarządzania użytkownikami MySQL, od tworzenia kont użytkowników po przydzielanie i modyfikowanie uprawnień.
Gotowy do działania? Zacznij!
Czym jest baza danych MySQL?
Baza danych MySQL to uporządkowany zbiór danych przechowywanych elektronicznie i zarządzanych za pomocą systemu zarządzania bazami danych MySQL (DBMS).
MySQL, otwarty system zarządzania relacyjnymi bazami danych, używa języka Structured Query Language (SQL) do dostępu, zarządzania i manipulowania danymi.
Baza danych MySQL jest zaprojektowana do obsługi wszystkiego, od pojedynczego wiersza informacji po duże zbiory danych składające się z milionów wierszy. Jest zbudowana do przechowywania danych w tabelach, które są zorganizowane w wiersze i kolumny. Każda tabela w bazie danych MySQL pełni określoną funkcję, przechowując dane dotyczące różnych aspektów twojej strony lub aplikacji internetowej.
MySQL jest znany z niezawodności i łatwości użytkowania. Deweloperzy internetowi z różnych branż używają go do aplikacji internetowych, aplikacji do logowania, magazynowania danych i więcej. Niezależnie od tego, czy przechowujesz informacje o użytkownikach, katalogi produktów czy zapisy transakcji, MySQL jest solidny i skalowalny i prawdopodobnie spełni Twoje potrzeby zarządzania bazą danych.
Pro tip: Chcesz migrować lub połączyć bazę danych MySQL z Twoją stroną DreamHost? Znajdź łatwy do śledzenia samouczek w naszej Bazie Wiedzy.
Wyjaśnienie kont użytkowników MySQL
Konta użytkowników MySQL są niezbędne do zarządzania dostępem do twojej bazy danych. Każdemu kontu użytkownika w MySQL można przydzielić określone uprawnienia, które określają, jakie działania może wykonywać użytkownik. Ta szczegółowa kontrola pomaga utrzymać bezpieczeństwo i integralność twoich danych.
Rola użytkownika Root
Kiedy pierwszy raz instalujesz MySQL, tworzone jest domyślne konto użytkownika o nazwie root.
Użytkownik Root ma pełne uprawnienia administracyjne, co oznacza, że może wykonywać dowolne działania na bazie danych, w tym tworzenie i usuwanie baz danych, dodawanie i usuwanie użytkowników oraz przyznawanie lub odbieranie uprawnień.
Chociaż użytkownik root jest potężny, nie zalecamy polegania wyłącznie na tym koncie do wszystkich zadań. Używanie konta root do codziennych operacji stanowi znaczące ryzyko bezpieczeństwa.
Jeśli ktokolwiek zdobędzie nieautoryzowany dostęp do tego konta, będzie miał kontrolę nad twoją bazą danych.
Dlaczego tworzyć nowych użytkowników?
Dla lepszej ochrony i usprawnienia zarządzania bazą danych najlepszą praktyką jest tworzenie konkretnych kont użytkowników do różnych celów.
Na przykład, możesz utworzyć oddzielne konta dla programistów, administratorów i procesów aplikacji, przydzielając każdemu rodzajowi konta tylko niezbędne uprawnienia, które są potrzebne do wykonania ich zadań. W ten sposób minimalizujesz ryzyko przypadkowych lub złośliwych działań, które mogłyby wpłynąć na integralność i bezpieczeństwo twojej bazy danych.
Tworzenie nowych kont użytkowników pozwala Ci na:
- Popraw bezpieczeństwo bazy danych i strony: Ogranicz dostęp do wrażliwych danych i kluczowych operacji, przydzielając każdemu użytkownikowi tylko niezbędne uprawnienia.
- Lepiej zorganizuj role: Jasno określ role i obowiązki w zespole, dając każdemu odpowiedni poziom dostępu do zadań, które musi wykonać.
- Ułatw zarządzanie swoją bazą danych: Łatwo śledź i zarządzaj działaniami użytkowników, co ułatwia audyt zmian i identyfikację problemów.
Jak zarządzać użytkownikami MySQL (Dwie metody)
Omówimy dwie główne metody zarządzania użytkownikami MySQL: bezpośrednio za pomocą MySQL i za pomocą panelu DreamHost. Ostatecznie metoda, której użyjesz, zależy od twojego poziomu komfortu z narzędziami wiersza poleceń oraz twoich specyficznych wymagań.
Zarządzanie Użytkownikami w MySQL
Aby zarządzać użytkownikami MySQL bezpośrednio przez MySQL, musisz mieć zainstalowany MySQL na swoim systemie.
To wiąże się z pobraniem oprogramowania MySQL ze oficjalnej strony MySQL, jego instalacją oraz konfiguracją zgodnie z wymaganiami systemu operacyjnego.
Po zainstalowaniu możesz korzystać z bazy danych MySQL za pomocą klienta konsoli MySQL.
Notatka dla Nerdów: Większość poniższych poleceń może być używana tylko na serwerach dedykowanych. Możesz sprawdzić naszą Bazę Wiedzy aby uzyskać więcej informacji.
Aby zainstalować MySQL, wykonaj te kroki:
- Odwiedź oficjalną stronę MySQL, pobierz instalator i postępuj zgodnie z instrukcjami instalacji dla swojego systemu operacyjnego (Windows, macOS lub Linux).
- Po instalacji będziesz musiał skonfigurować serwer MySQL, aby ustawić początkowe konta użytkowników i ustawienia bezpieczeństwa.
- Użyj Terminala (na macOS i Linux) lub wiersza poleceń (na Windows) do dostępu do interfejsu wiersza poleceń MySQL, wpisując komendę
mysql -u root -p
, a następnie swoje hasło roota.
Gdy masz już skonfigurowany MySQL, możesz tworzyć, zarządzać i usuwać konta użytkowników za pomocą poleceń SQL.
Ta metoda daje ci wysoki poziom kontroli i elastyczności, ale wymaga od ciebie znajomości składni SQL i operacji z linii komend (które omówimy bardziej szczegółowo poniżej).
Jak utworzyć konto użytkownika MySQL
- Zaloguj się na serwer MySQL jako użytkownik root. Wpisz następujące polecenie:
mysql -u root -p
. - Zostaniesz poproszony o wprowadzenie hasła root. Po uwierzytelnieniu zostaniesz połączony z serwerem MySQL.
- Aby utworzyć nowego użytkownika, użyj polecenia CREATE USER. Zastąp newuser pożądaną nazwą użytkownika i password silnym hasłem dla nowego użytkownika:
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
- To polecenie tworzy nowego użytkownika, który może łączyć się tylko z lokalnej maszyny (localhost). Jeśli chcesz, aby użytkownik mógł łączyć się z dowolnego hosta, zastąp localhost przez %.
- Aby zastosować zmiany, wykonaj polecenie FLUSH PRIVILEGES:
FLUSH PRIVILEGES;
Notatka dla nerdów: Zawsze, gdy hasło jest przypisywane przez wiersz poleceń, dobrym zwyczajem jest wyczyszczenie historii terminala, aby zmniejszyć ryzyko natrafienia na hasło przez kogoś innego.
Jak nadać uprawnienia użytkownikowi MySQL
- Zaloguj się na serwer MySQL jako użytkownik root. Wpisz następujące polecenie:
mysql -u root -p
. - Wprowadź swoje hasło root, aby połączyć się z serwerem MySQL.
- Użyj polecenia GRANT, aby przydzielić określone uprawnienia użytkownikowi. Uprawnienia można przyznać dla konkretnych baz danych, tabel lub nawet kolumn. Oto kilka typowych przykładów:
- Przyznaj wszystkie uprawnienia dla konkretnej bazy danych (To polecenie przyznaje wszystkie uprawnienia dla bazy danych exampledb użytkownikowi newuser łączącemu się z localhost):
GRANT ALL PRIVILEGES ON exampledb.* TO 'newuser'@'localhost';
- Przyznaj konkretne uprawnienia dla konkretnej bazy danych (To polecenie przyznaje tylko uprawnienia SELECT, INSERT i UPDATE dla bazy danych exampledb użytkownikowi newuser łączącemu się z localhost):
GRANT SELECT, INSERT, UPDATE ON exampledb.* TO 'newuser'@'localhost';
- Przyznaj wszystkie uprawnienia dla wszystkich baz danych (To polecenie przyznaje wszystkie uprawnienia dla wszystkich baz danych użytkownikowi newuser łączącemu się z localhost. Opcja WITH GRANT OPTION pozwala użytkownikowi przyznawać uprawnienia innym użytkownikom):
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'localhost' WITH GRANT OPTION;
- Przyznaj uprawnienia dla konkretnej tabeli (To polecenie przyznaje uprawnienia SELECT i INSERT dla tabeli exampletable w bazie danych exampledb użytkownikowi newuser):
GRANT SELECT, INSERT ON exampledb.exampletable TO 'newuser'@'localhost';
- Przyznaj wszystkie uprawnienia dla konkretnej bazy danych (To polecenie przyznaje wszystkie uprawnienia dla bazy danych exampledb użytkownikowi newuser łączącemu się z localhost):
- Aby zastosować zmiany, użyj polecenia FLUSH PRIVILEGES:
FLUSH PRIVILEGES;
Jak sprawdzić uprawnienia użytkownika MySQL
- Zaloguj się na serwer MySQL jako użytkownik root. Wprowadź następujące polecenie:
mysql -u root -p
. - Wprowadź swoje hasło root, aby połączyć się z serwerem MySQL.
- Instrukcja SHOW GRANTS służy do wyświetlania przywilejów przyznanych konkretnemu użytkownikowi. Aby zobaczyć przywileje dla określonego użytkownika, użyj następującego polecenia, zamieniając newuser na nazwę użytkownika i localhost na host, z którego użytkownik się łączy:
SHOW GRANTS FOR 'newuser'@'localhost';
- Dokładnie przejrzyj wyświetlone przywileje, aby upewnić się, że użytkownik ma odpowiednie uprawnienia. Jeśli są potrzebne jakieś korekty, możesz zmodyfikować przywileje użytkownika, używając instrukcji GRANT lub REVOKE, które omówimy w następnych sekcjach.
Jak modyfikować uprawnienia dla użytkownika MySQL
- Zaloguj się na serwer MySQL jako użytkownik root. Wprowadź następujące polecenie:
mysql -u root -p
. - Wprowadź swoje hasło root, aby połączyć się z serwerem MySQL.
- Aby przyznać dodatkowe uprawnienia użytkownikowi, użyj polecenia GRANT. Na przykład, aby przyznać uprawnienia UPDATE na bazie danych exampledb dla użytkownika newuser łączącego się z localhost, użyj:
GRANT UPDATE ON exampledb.* TO 'newuser'@'localhost';
- Aby usunąć określone uprawnienia użytkownikowi, użyj polecenia REVOKE. Na przykład, aby odebrać uprawnienie INSERT na bazie danych exampledb od użytkownika newuser łączącego się z localhost, użyj:
REVOKE INSERT ON exampledb.* FROM 'newuser'@'localhost';
- Po użyciu zarówno polecenia GRANT, jak i REVOKE, pamiętaj, aby zastosować zmiany, używając polecenia FLUSH PRIVILEGES:
FLUSH PRIVILEGES;
Jeśli potrzebujesz całkowicie zmienić uprawnienia użytkownika, może być łatwiej najpierw odebrać wszystkie jego obecne uprawnienia, a następnie przyznać nowy zestaw uprawnień. Aby odebrać wszystkie uprawnienia użytkownikowi, użyj: REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'newuser'@'localhost';
Następnie, przyznaj nowy zestaw uprawnień według potrzeb: GRANT SELECT, UPDATE ON exampledb.* TO 'newuser'@'localhost';
Nie zapomnij opróżnić uprawnień po dokonaniu tych zmian: FLUSH PRIVILEGES;
Jak usunąć użytkownika MySQL
- Zaloguj się na serwer MySQL jako użytkownik root. Wpisz następujące polecenie:
mysql -u root -p
. - Wprowadź swoje hasło roota, aby połączyć się z serwerem MySQL.
- Użyj polecenia DROP USER w celu usunięcia konta użytkownika. Zastąp newuser nazwą użytkownika i localhost hostem, z którego użytkownik się łączy:
DROP USER 'newuser'@'localhost';
- Jeśli użytkownik może łączyć się z dowolnego hosta, użyj:
DROP USER 'newuser'@'%';
- Przed usunięciem użytkownika warto upewnić się, że od niego nie zależą żadne obiekty (takie jak wyzwalacze czy procedury). Dzięki temu unikniesz nieoczekiwanych problemów po usunięciu użytkownika. Możesz przejrzeć obiekty zależne w swojej bazie danych i w razie potrzeby przypisać nowego właściciela.
- Chociaż polecenie DROP USER usuwa konto użytkownika i jego uprawnienia, mądrym posunięciem jest Opróżnij uprawnienia, aby upewnić się, że wszystkie zmiany są natychmiast stosowane:
FLUSH PRIVILEGES;
Jak wyświetlić użytkowników bazy danych MySQL
Oglądanie wszystkich użytkowników w Twojej bazie danych MySQL jest użytecznym sposobem zarządzania i audytowania kont użytkowników. Wtedy będziesz wiedzieć, kto ma dostęp do Twojej bazy danych i jakie mają uprawnienia.
Jeśli znasz komendy MySQL, mogłeś pomyśleć, że istnieje komenda SHOW USERS — podobna do komend SHOW DATABASES lub SHOW TABLES, które prawdopodobnie już znasz i używasz. Jednakże, SHOW USERS nie istnieje.
Więc jak możesz zobaczyć wszystkich swoich użytkowników bazy danych? Postępuj zgodnie z tymi krokami.
- Zaloguj się do serwera MySQL jako użytkownik root. Wpisz następujące polecenie:
mysql -u root -p
. - Wprowadź swoje hasło root, aby połączyć się z serwerem MySQL.
- MySQL przechowuje informacje o kontach użytkowników w tabeli mysql.user. Aby wyświetlić wszystkie konta użytkowników, możesz uruchomić następujące zapytanie SQL, aby wyświetlić listę wszystkich użytkowników i hostów, z których mogą się połączyć:
SELECT user, host FROM mysql.user;
- Jeśli potrzebujesz bardziej szczegółowych informacji na temat każdego użytkownika, takich jak ich uprawnienia lub inne ustawienia, możesz zapytać o dodatkowe kolumny z tabeli mysql.user. Na przykład:
SELECT user, host, authentication_string, plugin FROM mysql.user;
- Aby filtrować i wyświetlać określonych użytkowników, możesz dodać klauzulę WHERE do swojego zapytania. Na przykład, aby wyświetlić użytkowników łączących się z localhost, użyj:
SELECT user, host FROM mysql.user WHERE host = 'localhost';
Zarządzanie użytkownikami w DreamHost
Jeśli pomysł używania narzędzi wiersza poleceń wydaje się zniechęcający, Panel DreamHost oferuje przyjazną alternatywę dla zarządzania użytkownikami MySQL.
Panel DreamHost to interfejs oparty na przeglądarce, który upraszcza zadania związane z zarządzaniem bazą danych, dzięki czemu nie musisz używać wiersza poleceń.
Aby uzyskać szczegółowe poradniki dotyczące dostępu do bazy danych, dodawania i usuwania użytkowników, zarządzania uprawnieniami i więcej, odwiedź naszą stronę Bazy Wiedzy dla baz danych MySQL.
A jeśli szukasz niezawodnego hostingu zarządzanego dla swojej strony internetowej, który nie tylko ułatwia zarządzanie bazą danych za pomocą intuicyjnego panelu kontrolnego, ale również oferuje darmową migrację, wsparcie 24/7 oraz gwarancję czasu działania — potrzebujesz DreamHost.
Zobacz nasze przystępne ceny hostingowe i przekonaj się, dlaczego miliony osób i firm wybierają nas!
Ostateczna Moc, Bezpieczeństwo i Kontrola
Serwery dedykowane od DreamHost wykorzystują najlepsze dostępne sprzęty i oprogramowanie, aby Twoja strona zawsze była dostępna i szybka.
Zobacz więcej