Android

Jak zarządzać bazami danych mysql i użytkownikami z wiersza poleceń

Kurs MySQL odc. 4: Modele danych. Relacja. Iloczyn kartezjański

Kurs MySQL odc. 4: Modele danych. Relacja. Iloczyn kartezjański

Spisu treści:

Anonim

MySQL jest najpopularniejszym systemem zarządzania relacyjnymi bazami danych typu open source. Serwer MySQL pozwala nam tworzyć wielu użytkowników i bazy danych oraz udzielać odpowiednich uprawnień, aby użytkownicy mogli uzyskiwać dostęp do baz danych i zarządzać nimi.

W tym samouczku wyjaśniono, jak używać wiersza polecenia do tworzenia baz danych MySQL lub MariaDB i zarządzania nimi.

Zanim zaczniesz

Zanim zaczniesz od tego samouczka, zakładamy, że masz już serwer MySQL lub MariaDB zainstalowany w systemie. Wszystkie polecenia będą wykonywane jako użytkownik root.

Aby otworzyć monit MySQL, wpisz następujące polecenie i po wyświetleniu monitu wprowadź hasło użytkownika root MySQL:

mysql -u root -p

Utwórz nową bazę danych MySQL

Aby utworzyć nową bazę danych MySQL, uruchom następującą komendę, po prostu zastąp nazwę bazy danych nazwą bazy danych, którą chcesz utworzyć:

CREATE DATABASE database_name;

Query OK, 1 row affected (0.00 sec)

ERROR 1007 (HY000): Can't create database 'database_name'; database exists

Aby uniknąć błędów, jeśli baza danych o tej samej nazwie, którą próbujesz utworzyć, możesz użyć następującego polecenia:

CREATE DATABASE IF NOT EXISTS database_name;

Query OK, 1 row affected, 1 warning (0.00 sec)

W wynikach powyżej Query OK oznacza, że ​​zapytanie powiodło się, a 1 warning mówi nam, że baza danych już istnieje i nie utworzono nowej bazy danych.

Wyświetl wszystkie bazy danych MySQL

Możesz wyświetlić listę wszystkich baz danych na naszym serwerze MySQL lub MariaDB za pomocą następującego polecenia:

SHOW DATABASES;

Dane wyjściowe będą wyglądać mniej więcej tak:

+--------------------+ | Database | +--------------------+ | information_schema | | database_name | | mysql | | performance_schema | | sys | +--------------------+ 5 rows in set (0.00 sec)

Bazy danych information_schema , mysql , performance_schema i sys są tworzone w czasie instalacji i przechowują informacje o wszystkich innych bazach danych, konfiguracji systemu, użytkownikach, uprawnieniach i innych ważnych danych. Te bazy danych są niezbędne do prawidłowego działania instalacji MySQL.

Usuń bazę danych MySQL

Usunięcie bazy danych MySQL jest tak proste, jak uruchomienie jednego polecenia. Jest to akcja nieodwracalna i powinna być wykonywana ostrożnie. Upewnij się, że nie usuwasz niewłaściwej bazy danych, ponieważ po usunięciu bazy danych nie można jej odzyskać.

Aby usunąć MySQL lub MariaDB, w bazie danych uruchom następujące polecenie:

DROP DATABASE database_name;

Query OK, 0 rows affected (0.00 sec)

ERROR 1008 (HY000): Can't drop database 'database_name'; database doesn't exist

Aby uniknąć tego błędu, możesz użyć następującego polecenia:

DROP DATABASE IF EXISTS database_name;

Utwórz nowe konto użytkownika MySQL

Konto użytkownika w MySQL składa się z nazwy użytkownika i części nazwy hosta.

Aby utworzyć nowe konto użytkownika MySQL, uruchom następującą komendę, po prostu zamień „użytkownik_bazy_danych” na nazwę użytkownika, którego chcesz utworzyć:

CREATE USER 'database_user'@'localhost' IDENTIFIED BY 'user_password';

W powyższym poleceniu ustawiliśmy część nazwy hosta na localhost co oznacza, że ​​ten użytkownik będzie mógł połączyć się z serwerem MySQL tylko z hosta lokalnego (tj. Z systemu, w którym działa serwer MySQL). Jeśli chcesz przyznać dostęp z innego hosta (hostów), po prostu zmień localhost za pomocą adresu IP zdalnego komputera lub użyj symbolu wieloznacznego '%' dla części hosta, co oznacza, że ​​konto użytkownika będzie mogło połączyć się z dowolnego hosta.

Tak samo jak podczas pracy z bazami danych, aby uniknąć błędu podczas próby utworzenia konta użytkownika, które już istnieje, możesz użyć:

CREATE USER IF NOT EXISTS 'database_user'@'localhost' IDENTIFIED BY 'user_password';

Query OK, 0 rows affected, 1 warning (0.00 sec)

Zmień hasło do konta użytkownika MySQL

Składnia zmiany hasła do konta użytkownika MySQL lub MariaDB zależy od wersji serwera uruchomionej w systemie.

Możesz znaleźć wersję swojego serwera, wydając następujące polecenie:

mysql --version

ALTER USER 'database_user'@'localhost' IDENTIFIED BY 'new_password';

SET PASSWORD FOR 'database_user'@'localhost' = PASSWORD('new_password');

W obu przypadkach dane wyjściowe powinny wyglądać następująco:

Query OK, 0 rows affected (0.00 sec)

Wyświetl listę wszystkich kont użytkowników MySQL

Możesz wyświetlić listę wszystkich kont użytkowników MySQL lub MariaDB, sprawdzając tabelę mysql.users :

SELECT user, host FROM mysql.user;

Dane wyjściowe powinny wyglądać podobnie do poniższych:

+------------------+-----------+ | user | host | +------------------+-----------+ | database_user | % | | database_user | localhost | | debian-sys-maint | localhost | | mysql.session | localhost | | mysql.sys | localhost | | root | localhost | +------------------+-----------+ 6 rows in set (0.00 sec)

Usuń konto użytkownika MySQL

Aby usunąć konto użytkownika, użyj następującego polecenia:

DROP USER 'database_user@'localhost';

ERROR 1396 (HY000): Operation DROP USER failed for 'database_user'@'localhost'

Tak samo jak podczas pracy z bazami danych, aby uniknąć błędu, którego możesz użyć:

DROP USER IF EXISTS 'database_user'@'localhost';

Query OK, 0 rows affected, 1 warning (0.00 sec)

Przyznaj uprawnienia do konta użytkownika MySQL

Istnieje wiele rodzajów przywilejów, które można nadać kontu użytkownika. Pełną listę uprawnień obsługiwanych przez MySQL można znaleźć tutaj. W tym przewodniku omówimy kilka przykładów:

Aby przyznać wszystkie uprawnienia do konta użytkownika w określonej bazie danych, użyj następującego polecenia:

GRANT ALL PRIVILEGES ON database_name.* TO 'database_user'@'localhost';

Aby przyznać wszystkie uprawnienia do konta użytkownika we wszystkich bazach danych, użyj następującego polecenia:

GRANT ALL PRIVILEGES ON *.* TO 'database_user'@'localhost';

Aby przyznać wszystkie uprawnienia do konta użytkownika w określonej tabeli z bazy danych, użyj następującego polecenia:

GRANT ALL PRIVILEGES ON database_name.table_name TO 'database_user'@'localhost';

GRANT SELECT, INSERT, DELETE ON database_name.* TO database_user@'localhost';

Odwołaj uprawnienia z konta użytkownika MySQL

REVOKE ALL PRIVILEGES ON database_name.* TO 'database_user'@'localhost';

Wyświetl uprawnienia do konta użytkownika MySQL

Aby znaleźć uprawnienia przyznane określonemu typowi konta użytkownika MySQL:

SHOW GRANTS FOR 'database_user'@'localhost';

+---------------------------------------------------------------------------+ | Grants for database_user@localhost | +---------------------------------------------------------------------------+ | GRANT USAGE ON *.* TO 'database_user'@'localhost' | | GRANT ALL PRIVILEGES ON `database_name`.* TO 'database_user'@'localhost' | +---------------------------------------------------------------------------+ 2 rows in set (0.00 sec)

Wniosek

Ten samouczek obejmuje tylko podstawy, ale powinien być dobrym początkiem dla każdego, kto chce nauczyć się zarządzać bazami danych MySQL i użytkownikami z wiersza poleceń. Możesz także sprawdzić samouczek dotyczący resetowania hasła root MySQL na wypadek, gdybyś go zapomniał.

To wszystko! Jeśli masz jakieś pytania lub uwagi, zostaw komentarz.

mysql mariadb