Android

Hogyan kezeljük a mysql adatbázisokat és a felhasználókat a parancssorból

MySQL adatbázis kezelés 29 - Tábla létrehozása kicsit igényesebb módon

MySQL adatbázis kezelés 29 - Tábla létrehozása kicsit igényesebb módon

Tartalomjegyzék:

Anonim

A MySQL a legnépszerűbb nyílt forráskódú relációs adatbázis-kezelő rendszer. A MySQL szerver lehetővé teszi számos felhasználó és adatbázis létrehozását, valamint megfelelő jogosultságok megadását, hogy a felhasználók hozzáférhessenek az adatbázisokhoz és kezelhessék azokat.

Ez az oktatóanyag elmagyarázza, hogyan lehet a parancssort felhasználni MySQL vagy MariaDB adatbázisok és felhasználók létrehozására és kezelésére.

Mielőtt elkezded

Mielőtt elkezdené ezt az oktatóprogramot, feltételezzük, hogy a MySQL vagy a MariaDB szerver már telepítve van a rendszerén. Minden parancsot root felhasználóként hajtunk végre.

A MySQL prompt megnyitásához írja be a következő parancsot, és a rendszer kéri: adja meg a MySQL root felhasználó jelszavát:

mysql -u root -p

Hozzon létre egy új MySQL adatbázist

Új MySQL adatbázis létrehozásához futtassa a következő parancsot, csak cserélje ki az adatbázis_nevet a létrehozni kívánt adatbázis nevére:

CREATE DATABASE database_name;

Query OK, 1 row affected (0.00 sec)

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

A hibák elkerülése érdekében, ha a létrehozni kívánt névvel azonos adatbázis létezik, használhatja a következő parancsot:

CREATE DATABASE IF NOT EXISTS database_name;

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

A fenti kimenetben a Query OK azt jelenti, hogy a lekérdezés sikeres volt, és az 1 warning azt jelzi, hogy az adatbázis már létezik, és nem hoztak létre új adatbázist.

Az összes MySQL adatbázis felsorolása

A MySQL vagy a MariaDB kiszolgálónkon található összes adatbázist felsorolhatja a következő paranccsal:

SHOW DATABASES;

A kimenet így néz ki:

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

Az information_schema , mysql , performance_schema és sys adatbázisok telepítéskor jönnek létre, és információkat tárolnak minden más adatbázisról, rendszerkonfigurációról, felhasználókról, engedélyekről és egyéb fontos adatokról. Ezek az adatbázisok szükségesek a MySQL telepítés megfelelő működéséhez.

Töröljön egy MySQL adatbázist

A MySQL adatbázis törlése ugyanolyan egyszerű, mint egyetlen parancs futtatása. Ez egy visszafordíthatatlan művelet, amelyet óvatosan kell végrehajtani. Ügyeljen arra, hogy ne távolítson el rossz adatbázist, mivel miután törölte az adatbázist, azt nem lehet helyreállítani.

MySQL vagy MariaDB törléséhez az adatbázisban futtassa a következő parancsot:

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

A hiba elkerülése érdekében a következő parancsot használhatja:

DROP DATABASE IF EXISTS database_name;

Hozzon létre új MySQL felhasználói fiókot

A MySQL felhasználói fiókja felhasználói névből és gazdagépnév-részekből áll.

Új MySQL felhasználói fiók létrehozásához futtassa a következő parancsot, csak az 'adatbázis_felhasználó' cserélje ki a létrehozni kívánt felhasználó nevét:

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

A fenti parancsban beállítottuk a hostname részt localhost ami azt jelenti, hogy ez a felhasználó csak a localhost-tól (azaz a rendszerből, ahol a MySQL Server fut) képes csatlakozni a MySQL szerverhez. Ha egy másik gazdagépről szeretne hozzáférést engedélyezni, akkor csak a távoli gép IP- localhost változtassa meg a localhost , vagy használja a '%' helyettesítő karaktert a gazdagép részéhez, ami azt jelenti, hogy a felhasználói fiók bármilyen gazdagépről képes lesz csatlakozni.

Ugyanaz, mint amikor az adatbázisokkal dolgozik, hogy elkerülje a hibát egy már létező felhasználói fiók létrehozásakor, akkor használhatja:

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

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

Módosítsa a MySQL felhasználói fiók jelszavát

A MySQL vagy a MariaDB felhasználói fiók jelszavának megváltoztatásának szintaxisa a rendszeren futó kiszolgáló verziójától függ.

A szerver verzióját a következő parancs kiadásával találhatja meg:

mysql --version

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

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

Mindkét esetben a kimenetnek így kell kinéznie:

Query OK, 0 rows affected (0.00 sec)

Az összes MySQL felhasználói fiók felsorolása

Az összes MySQL vagy MariaDB felhasználói fiókot felsorolhatja a mysql.users tábla lekérdezésével:

SELECT user, host FROM mysql.user;

A kimenetnek az alábbiak szerint kell kinéznie:

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

Törölje a MySQL felhasználói fiókot

Felhasználói fiók törléséhez használja a következő parancsot:

DROP USER 'database_user@'localhost';

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

Ugyanaz, mint amikor az adatbázisokkal dolgozik a hiba elkerülése érdekében:

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

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

Engedélyek megadása a MySQL felhasználói fiókhoz

A felhasználói fiókokhoz számos típusú kiváltság adható. A MySQL által támogatott kiváltságok teljes listáját itt találja. Ebben az útmutatóban több példát áttekintünk:

A felhasználói fiókhoz fűződő összes jogosultság egy adott adatbázishoz történő felhasználásához használja a következő parancsot:

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

A felhasználói fiókhoz tartozó összes adatbázishoz kapcsolódó összes jogosultság átalakításához használja a következő parancsot:

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

Ha egy felhasználói fiókkal kapcsolatos összes jogosultságot egy adatbázis egy adott táblája fölött szeretne felhasználni, használja a következő parancsot:

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

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

Visszavonhatja a MySQL felhasználói fiók engedélyét

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

A MySQL felhasználói fiókjogosultságainak megjelenítése

Egy adott MySQL felhasználói fiók-típushoz biztosított jogosultság (ok) megtalálása:

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)

Következtetés

Ez az oktatóanyag csak az alapokat tartalmazza, de jó kezdés lehet mindenkinek, aki meg akarja tanulni, hogyan kezeli a MySQL adatbázisokat és a felhasználókat a parancssorból. Ellenőrizheti azt is, hogy miként állíthat vissza egy MySQL root jelszót arra az esetre, ha elfelejtette.

Ez minden! Ha bármilyen kérdése vagy észrevétele van, nyugodtan írjon megjegyzést.

mysql mariadb