MySQL adatbázis kezelés 29 - Tábla létrehozása kicsit igényesebb módon
Tartalomjegyzék:
- Mielőtt elkezded
- Hozzon létre egy új MySQL adatbázist
- Az összes MySQL adatbázis felsorolása
- Töröljön egy MySQL adatbázist
- Hozzon létre új MySQL felhasználói fiókot
- Módosítsa a MySQL felhasználói fiók jelszavát
- Az összes MySQL felhasználói fiók felsorolása
- Törölje a MySQL felhasználói fiókot
- Engedélyek megadása a MySQL felhasználói fiókhoz
- Visszavonhatja a MySQL felhasználói fiók engedélyét
- A MySQL felhasználói fiókjogosultságainak megjelenítése
- Következtetés
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:
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 mariadbAz Európai Unió trösztellenes szabályozója teljesen aggodalmát fejezi ki amiatt, hogy az Oracle átvette a MySQL-t, a Widenius szerint februárban elhagyta a Sunot. A MySQL-nek más otthonra van szüksége, mint az Oracle, ahol nincs olyan összeférhetetlenség, hogy hogyan, vagy ha a MySQL-t tovább kell fejleszteni, írta Widenius. A cég, a Monty Program AB fejlesztette ki a MySDB-nek a MariaDB-t.
A legfontosabb cél az, hogy otthont találjon az Oracle-nek a MySQL-n kívül, ahol az adatbázis fejleszthető és versenyezhet a meglévő termékekkel, beleértve az Oracle-t Florian Mueller , egy korábbi MySQL részvényes, aki jelenleg a Monty Program AB-val dolgozik ebben a kérdésben.
Hogyan sorolhatom fel a postgresql adatbázisokat és táblázatokat a psql használatával?
A PostgreSQL adatbázis-kiszolgálók adminisztrálásakor az egyik leggyakoribb feladat, amelyet valószínűleg elvégez, az adatbázisok és azok táblázatainak felsorolása. A PostgreSQL egy psql nevû interaktív eszközzel érkezik, amely lehetõvé teszi a kiszolgálóhoz történõ csatlakozást és lekérdezések futtatását ellene.
Hogyan lehet megjeleníteni / listázni a felhasználókat a mysql-ben
Ez az oktatóanyag elmagyarázza, hogyan kell a parancssoron felsorolni a MySQL adatbázis-kiszolgáló összes felhasználói fiókját.