Android

Cum să gestionați bazele de date mysql și utilizatorii din linia de comandă

Tutoriale de MySQL - 2. Cum se crează o bază de date

Tutoriale de MySQL - 2. Cum se crează o bază de date

Cuprins:

Anonim

MySQL este cel mai popular sistem de gestionare a bazelor de date relaționale open-source. Serverul MySQL ne permite să creăm numeroși utilizatori și baze de date și să acordăm privilegii corespunzătoare, astfel încât utilizatorii să poată accesa și gestiona bazele de date.

Acest tutorial explică modul de utilizare a liniei de comandă pentru crearea și gestionarea bazelor de date și a utilizatorilor bazelor de date MySQL sau MariaDB.

Înainte de a începe

Înainte de a începe cu acest tutorial, presupunem că aveți deja server MySQL sau MariaDB instalat pe sistemul dvs. Toate comenzile vor fi executate ca utilizator root.

Pentru a deschide promptul MySQL, tastați următoarea comandă și introduceți parola utilizatorului root MySQL când vi se solicită:

mysql -u root -p

Creați o nouă bază de date MySQL

Pentru a crea o nouă bază de date MySQL, executați următoarea comandă, trebuie doar să înlocuiți numele de bază de database_name cu numele bazei de date pe care doriți să o creați:

CREATE DATABASE database_name;

Query OK, 1 row affected (0.00 sec)

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

Pentru a evita erorile, dacă baza de date cu același nume pe care încercați să le creați există, puteți utiliza următoarea comandă:

CREATE DATABASE IF NOT EXISTS database_name;

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

În ieșirea de mai sus, Query OK înseamnă că interogarea a avut succes și 1 warning ne spune că baza de date există deja și nu a fost creată o nouă bază de date.

Enumerați toate bazele de date MySQL

Puteți lista toate bazele de date care există pe serverul nostru MySQL sau MariaDB cu următoarea comandă:

SHOW DATABASES;

Rezultatul va arăta astfel:

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

Bazele de date information_schema , mysql , performance_schema și sys sunt create la momentul instalării și stochează informații despre toate celelalte baze de date, configurația sistemului, utilizatorii, permisiunea și alte date importante. Aceste baze de date sunt necesare pentru funcționalitatea corectă a instalării MySQL.

Ștergeți o bază de date MySQL

Ștergerea unei baze de date MySQL este la fel de simplă ca executarea unei singure comenzi. Aceasta este o acțiune ireversibilă și trebuie executată cu precauție. Asigurați-vă că nu eliminați o bază de date greșită, deoarece odată ce ștergeți baza de date, aceasta nu poate fi recuperată.

Pentru a șterge un MySQL sau MariaDB, baza de date rulează următoarea comandă:

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

Pentru a evita această eroare, puteți utiliza următoarea comandă:

DROP DATABASE IF EXISTS database_name;

Creați un nou cont de utilizator MySQL

Un cont de utilizator în MySQL constă dintr-un nume de utilizator și părți de nume de gazdă.

Pentru a crea un nou cont de utilizator MySQL, executați următoarea comandă, trebuie doar să înlocuiți „database_user” cu numele utilizatorului pe care doriți să îl creați:

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

În comanda de mai sus am setat partea de nume de gazdă la localhost ceea ce înseamnă că acest utilizator se va putea conecta la serverul MySQL numai din localhost (adică din sistemul pe care rulează MySQL Server). Dacă doriți să acordați acces de la o altă gazdă, schimbați localhost cu IP-ul mașinii de la distanță sau folosiți '%' wildcard pentru partea gazdă, ceea ce înseamnă că contul de utilizator se va putea conecta de la orice gazdă.

La fel ca atunci când lucrați cu bazele de date pentru a evita o eroare atunci când încercați să creați un cont de utilizator care există deja, puteți utiliza:

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

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

Schimbați parola unui cont de utilizator MySQL

Sintaxa pentru modificarea parolei contului de utilizator MySQL sau MariaDB depinde de versiunea de server pe care o executați pe sistemul dvs.

Puteți găsi versiunea serverului dvs. emitând următoarea comandă:

mysql --version

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

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

În ambele cazuri, producția ar trebui să arate astfel:

Query OK, 0 rows affected (0.00 sec)

Enumerați toate conturile de utilizator MySQL

Puteți lista toate conturile de utilizator MySQL sau MariaDB, mysql.users tabelul mysql.users :

SELECT user, host FROM mysql.user;

Produsul ar trebui să arate similar cu mai jos:

+------------------+-----------+ | 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)

Ștergeți contul de utilizator MySQL

Pentru a șterge un cont de utilizator, utilizați următoarea comandă:

DROP USER 'database_user@'localhost';

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

La fel ca atunci când lucrați cu bazele de date pentru a evita eroarea pe care o puteți utiliza:

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

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

Acordă permisiuni unui cont de utilizator MySQL

Există mai multe tipuri de privilegii care pot fi acordate unui cont de utilizator. Puteți găsi o listă completă de privilegii acceptate de MySQL aici. În acest ghid vom parcurge câteva exemple:

Pentru a ridica toate privilegiile unui cont de utilizator pe o bază de date specifică, utilizați următoarea comandă:

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

Pentru a genera toate privilegiile unui cont de utilizator peste toate bazele de date, utilizați următoarea comandă:

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

Pentru a depista toate privilegiile unui cont de utilizator peste un tabel specific dintr-o bază de date, utilizați următoarea comandă:

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

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

Revocați permisiunile de la un cont de utilizator MySQL

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

Afișați privilegiile contului de utilizator MySQL

Pentru a găsi privilegiul (privilegiile) acordat unui anumit tip de cont de utilizator 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)

Concluzie

Acest tutorial acoperă doar elementele de bază, dar ar trebui să fie un bun început pentru oricine dorește să învețe cum să gestioneze bazele de date MySQL și utilizatorii de pe linia de comandă. Puteți verifica, de asemenea, tutorialul despre cum puteți reseta o parolă rădăcină MySQL în cazul în care ați uitat-o.

Asta e tot! Dacă aveți întrebări sau feedback, nu ezitați să lăsați un comentariu.

mysql mariadb