Android

Kuinka hallita mysql-tietokantoja ja käyttäjiä komentoriviltä

Ruby on Rails by Leila Hofer

Ruby on Rails by Leila Hofer

Sisällysluettelo:

Anonim

MySQL on suosituin avoimen lähdekoodin relaatiotietokannan hallintajärjestelmä. MySQL-palvelin antaa meille mahdollisuuden luoda lukuisia käyttäjiä ja tietokantoja ja myöntää asianmukaiset käyttöoikeudet, jotta käyttäjät voivat käyttää ja hallita tietokantoja.

Tämä opetusohjelma selittää, miten komentorivillä voidaan luoda ja hallita MySQL- tai MariaDB-tietokantoja ja käyttäjiä.

Ennen kuin aloitat

Ennen kuin aloitat tämän opetusohjelman, oletamme, että sinulla on jo MySQL- tai MariaDB-palvelin asennettuna järjestelmään. Kaikki komennot suoritetaan pääkäyttäjänä.

Avaa MySQL-kehote kirjoittamalla seuraava komento ja kirjoittamalla MySQL-pääkäyttäjän salasana pyydettäessä:

mysql -u root -p

Luo uusi MySQL-tietokanta

Luo uusi MySQL-tietokanta suorittamalla seuraava komento. Korvaa vain database_name luotavan database_name nimellä:

CREATE DATABASE database_name;

Query OK, 1 row affected (0.00 sec)

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

Voit estää virheitä, jos olemassa on sama nimi kuin yrität luoda tietokanta. Voit käyttää seuraavaa komentoa:

CREATE DATABASE IF NOT EXISTS database_name;

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

Yllä olevassa tulostuksessa Query OK tarkoittaa, että kysely onnistui, ja 1 warning kertoo meille, että tietokanta on jo olemassa eikä uutta tietokantaa ole luotu.

Lista kaikki MySQL-tietokannat

Voit luetteloida kaikki MySQL- tai MariaDB-palvelimellamme olevat tietokannat seuraavalla komennolla:

SHOW DATABASES;

Tulos näyttää tältä:

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

information_schema , mysql , performance_schema ja sys tietokannat luodaan asennuksen yhteydessä ja ne tallentavat tietoja kaikista muista tietokannoista, järjestelmän kokoonpanosta, käyttäjistä, luvista ja muista tärkeistä tiedoista. Nämä tietokannat ovat välttämättömiä MySQL-asennuksen moitteettoman toiminnan kannalta.

Poista MySQL-tietokanta

MySQL-tietokannan poistaminen on yhtä helppoa kuin yhden komennon suorittaminen. Tämä ei ole palautettava toimenpide, ja se tulisi suorittaa varoen. Varmista, että et poista väärää tietokantaa, koska kun olet poistanut tietokannan, sitä ei voi palauttaa.

MySQL tai MariaDB poistetaan tietokannasta suorittamalla seuraava komento:

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

Tämän virheen välttämiseksi voit käyttää seuraavaa komentoa:

DROP DATABASE IF EXISTS database_name;

Luo uusi MySQL-käyttäjätili

MySQL: n käyttäjätili koostuu käyttäjänimestä ja isäntänimen osista.

Jos haluat luoda uuden MySQL-käyttäjätilin, suorita seuraava komento, korvaa 'tietokannan_käyttäjä' vain sen käyttäjän nimellä, jonka haluat luoda:

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

Yllä olevassa komennossa olemme asettaneet isäntänimen osan localhost mikä tarkoittaa, että tämä käyttäjä voi muodostaa yhteyden MySQL-palvelimeen vain localhost (eli järjestelmästä, jossa MySQL Server toimii). Jos haluat myöntää käyttöoikeuden toiselta localhost , muuta vain localhost etäkoneen IP: llä tai käytä isäntäosassa '%' jokerimerkkiä, mikä tarkoittaa, että käyttäjätili pystyy muodostamaan yhteyden mistä tahansa isäntästä.

Sama kuin työskennellessäsi tietokantojen kanssa virheen välttämiseksi, kun yrität luoda jo olemassa olevan käyttäjätilin, jota voit käyttää:

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

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

Vaihda MySQL-käyttäjätilin salasana

MySQL- tai MariaDB-käyttäjätilin salasanan vaihtamisen syntaksi riippuu järjestelmässä käytetystä palvelinversiosta.

Löydät palvelinversion antamalla seuraavan komennon:

mysql --version

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

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

Molemmissa tapauksissa tulosteen tulisi näyttää tältä:

Query OK, 0 rows affected (0.00 sec)

Luetteloi kaikki MySQL-käyttäjätilit

Voit luetteloida kaikki MySQL- tai MariaDB-käyttäjätilit kysymällä mysql.users taulukosta:

SELECT user, host FROM mysql.user;

Lähtön tulisi näyttää samanlaiselta kuin alla:

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

Poista MySQL-käyttäjätili

Poista käyttäjätili seuraavan komennon avulla:

DROP USER 'database_user@'localhost';

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

Sama kuin työskennellessäsi tietokantojen kanssa käyttämän virheen välttämiseksi:

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

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

Myönnä käyttöoikeudet MySQL-käyttäjätilille

Käyttäjätilille voidaan myöntää useita tyyppejä käyttöoikeuksia. Löydät täydellisen luettelon MySQL: n tukemista käyttöoikeuksista täältä. Tässä oppaassa käydään läpi useita esimerkkejä:

Jos haluat määrittää kaikki käyttäjätilin tietyn tietokannan käyttöoikeudet, käytä seuraavaa komentoa:

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

Jos haluat varmistaa kaikkien käyttäjätilien kaikkien tietokantojen käyttöoikeudet, käytä seuraavaa komentoa:

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

Jos haluat suojata kaikki käyttäjätilin tietyn taulukon tietoturvaoikeudet tietokannasta, käytä seuraavaa komentoa:

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

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

Peruuta MySQL-käyttäjätilien käyttöoikeudet

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

Näytä MySQL-käyttäjätilin käyttöoikeudet

Tietyn MySQL-käyttäjätilityypin myöntämien käyttöoikeuksien löytäminen:

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)

johtopäätös

Tämä opetusohjelma kattaa vain perusteet, mutta sen pitäisi olla hyvä aloitus kaikille, jotka haluavat oppia hallitsemaan MySQL-tietokantoja ja käyttäjiä komentoriviltä. Voit myös tarkistaa opetusohjelman siitä, kuinka MySQL-pääsalasana voidaan nollata, jos olet unohtanut sen.

Siinä kaikki! Jos sinulla on kysyttävää tai palautetta, jätä kommentti.

mysql mariadb