Android

Kako upravljati bazama podataka mysql i korisnicima iz naredbenog retka

Ruby on Rails by Leila Hofer

Ruby on Rails by Leila Hofer

Sadržaj:

Anonim

MySQL je najpopularniji sustav upravljanja relacijskim bazama otvorenog koda. MySQL poslužitelj omogućava nam stvaranje brojnih korisnika i baza podataka i dodjeljivanje odgovarajućih povlastica tako da korisnici mogu pristupiti i upravljati bazama podataka.

Ovaj vodič objašnjava kako koristiti naredbeni redak za stvaranje i upravljanje MySQL ili MariaDB bazama podataka i korisnicima.

Prije nego što počneš

Prije nego što započnete s ovim vodičem, pretpostavljamo da na vašem sustavu već imate instaliran MySQL ili MariaDB poslužitelj. Sve naredbe izvršavat će se kao korijenski korisnik.

Za otvaranje upita za MySQL upišite sljedeću naredbu i na upit unesite korisničku lozinku korijena MySQL:

mysql -u root -p

Stvorite novu MySQL bazu podataka

Da biste stvorili novu MySQL bazu podataka pokrenite sljedeću naredbu, samo zamijenite ime baze podataka imenom baze podataka koju želite stvoriti:

CREATE DATABASE database_name;

Query OK, 1 row affected (0.00 sec)

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

Da biste izbjegli pogreške ako baza podataka s istim nazivom kao što pokušavate stvoriti postoji sljedeća naredba:

CREATE DATABASE IF NOT EXISTS database_name;

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

U gornjem prikazu, Query OK znači da je upit bio uspješan, a 1 warning govori nam da baza podataka već postoji i da nova baza podataka nije stvorena.

Popis svih MySQL baza podataka

Možete navesti sve baze podataka koje postoje na našem MySQL ili MariaDB poslužitelju sljedećom naredbom:

SHOW DATABASES;

Izlaz će izgledati ovako:

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

Baze information_schema , mysql , performance_schema i sys kreiraju se u vrijeme instalacije i pohranjuju informacije o svim ostalim bazama podataka, konfiguraciji sustava, korisnicima, dozvoli i drugim važnim podacima. Te su baze podataka potrebne za ispravnu funkcionalnost MySQL instalacije.

Izbrišite MySQL bazu podataka

Brisanje MySQL baze podataka je jednostavno kao i pokretanje jedne naredbe. Ovo je nepovratna akcija i trebalo bi je izvoditi s oprezom. Pazite da ne uklanjate pogrešnu bazu podataka jer je jednom kad izbrišete bazu ne možete vratiti.

Da biste izbrisali MySQL ili MariaDB, baza podataka pokrenite sljedeću naredbu:

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

Da biste izbjegli ovu pogrešku, možete koristiti sljedeću naredbu:

DROP DATABASE IF EXISTS database_name;

Izradite novi MySQL korisnički račun

Korisnički račun u MySQL sastoji se od dijelova korisničkog imena i imena hosta.

Za stvaranje novog korisničkog računa MySQL pokrenite sljedeću naredbu, samo zamijenite 'database_user' s imenom korisnika kojeg želite stvoriti:

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

U gornjoj naredbi postavili smo dio imena računala na localhost što znači da će se ovaj korisnik moći povezati s MySQL serverom samo iz localhosta (tj. Iz sustava u kojem se pokreće MySQL Server). Ako želite odobriti pristup drugom domaćinu, jednostavno promijenite localhost pomoću IP udaljenog uređaja ili upotrijebite '%' nadimak za dio domaćina, što znači da će se korisnički račun moći povezati s bilo kojeg računala.

Isto kao kada radite s bazama podataka da biste izbjegli pogrešku pri pokušaju stvaranja korisničkog računa koji već postoji, možete koristiti:

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

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

Promjena lozinke za MySQL korisnički račun

Sintaksa za promjenu lozinke korisničkog računa za MySQL ili MariaDB ovisi o verziji poslužitelja koji se izvodi na vašem sustavu.

Verziju poslužitelja možete pronaći izdavanjem sljedeće naredbe:

mysql --version

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

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

U oba bi slučaja izlaz trebao izgledati ovako:

Query OK, 0 rows affected (0.00 sec)

Popis svih MySQL korisničkih računa

Možete navesti sve korisničke račune MySQL ili MariaDB postavljanjem upita tablici mysql.users :

SELECT user, host FROM mysql.user;

Izlaz bi trebao izgledati slično dolje:

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

Izbrišite MySQL korisnički račun

Za brisanje korisničkog računa upotrijebite sljedeću naredbu:

DROP USER 'database_user@'localhost';

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

Isto kao kada radite s bazama podataka kako biste izbjegli pogrešku koju možete koristiti:

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

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

Daje dopuštenja za MySQL korisnički račun

Postoji više vrsta privilegija koje se mogu dodijeliti korisničkom računu. Ovdje možete pronaći cijeli popis privilegija koje podržava MySQL. U ovom ćemo vodiču proći kroz nekoliko primjera:

Za dodjelu svih privilegija korisničkom računu preko određene baze podataka, koristite sljedeću naredbu:

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

Za dodjelu svih privilegija korisničkom računu u svim bazama podataka, koristite sljedeću naredbu:

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

Za dodjelu svih privilegija korisničkom računu preko određene tablice iz baze podataka, koristite sljedeću naredbu:

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

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

Opozovite dopuštenja s MySQL korisničkog računa

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

Prikaži privilegije korisničkog računa MySQL

Da biste pronašli privilegiju (a) dodijeljenu određenoj vrsti MySQL korisničkog računa:

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)

Zaključak

Ovaj udžbenik pokriva samo osnove, ali to bi trebao biti dobar početak za sve koji žele naučiti kako upravljati MySQL bazama podataka i korisnicima iz naredbenog retka. Također možete provjeriti udžbenik o tome kako resetirati MySQL root lozinku u slučaju da ste je zaboravili.

To je sve! Ako imate bilo kakvih pitanja ili povratnih informacija, slobodno ostavite komentar.

mysql mariadb