Adventures In BASH: Hoe maak je een website in 2020 ! | Kumputer Kar
Inhoudsopgave:
- Voordat je begint
- Maak een nieuwe MySQL-database
- Lijst met alle MySQL-databases
- Verwijder een MySQL-database
- Maak een nieuw MySQL-gebruikersaccount
- Wijzig een MySQL-gebruikersaccountwachtwoord
- Lijst met alle MySQL-gebruikersaccounts
- Verwijder MySQL-gebruikersaccount
- Verleen machtigingen aan een MySQL-gebruikersaccount
- Toestemmingen van een MySQL-gebruikersaccount intrekken
- MySQL-gebruikersaccountrechten weergeven
- Conclusie
MySQL is het populairste open-source relationele databasebeheersysteem. Met de MySQL-server kunnen we talloze gebruikers en databases maken en de juiste rechten verlenen zodat gebruikers toegang hebben tot databases en deze kunnen beheren.
In deze zelfstudie wordt uitgelegd hoe u de opdrachtregel gebruikt om MySQL- of MariaDB-databases en -gebruikers te maken en te beheren.
Voordat je begint
Voordat u met deze zelfstudie begint, gaan we ervan uit dat u MySQL- of MariaDB-server al op uw systeem heeft geïnstalleerd. Alle opdrachten worden als rootgebruiker uitgevoerd.
Om de MySQL-prompt te openen, typt u de volgende opdracht en voert u het MySQL-rootgebruikerswachtwoord in wanneer daarom wordt gevraagd:
Maak een nieuwe MySQL-database
Om een nieuwe MySQL-database te maken, voert u de volgende opdracht uit, vervangt u gewoon
database_name
door de naam van de database die u wilt maken:
CREATE DATABASE database_name;
Query OK, 1 row affected (0.00 sec)
ERROR 1007 (HY000): Can't create database 'database_name'; database exists
Om fouten te voorkomen als de database met dezelfde naam die u probeert te maken bestaat, kunt u de volgende opdracht gebruiken:
CREATE DATABASE IF NOT EXISTS database_name;
Query OK, 1 row affected, 1 warning (0.00 sec)
In de bovenstaande output betekent
Query OK
dat de zoekopdracht succesvol was en
1 warning
geeft aan dat de database al bestaat en dat er geen nieuwe database is gemaakt.
Lijst met alle MySQL-databases
U kunt alle databases op onze MySQL- of MariaDB-server weergeven met de volgende opdracht:
SHOW DATABASES;
De uitvoer ziet er ongeveer zo uit:
+--------------------+ | Database | +--------------------+ | information_schema | | database_name | | mysql | | performance_schema | | sys | +--------------------+ 5 rows in set (0.00 sec)
De databases met
information_schema
,
mysql
,
performance_schema
en
sys
worden tijdens de installatie gemaakt en ze slaan informatie op over alle andere databases, systeemconfiguratie, gebruikers, machtigingen en andere belangrijke gegevens. Deze databases zijn nodig voor de juiste functionaliteit van de MySQL-installatie.
Verwijder een MySQL-database
Een MySQL-database verwijderen is net zo eenvoudig als het uitvoeren van een enkele opdracht. Dit is een niet-omkeerbare actie en moet met voorzichtigheid worden uitgevoerd. Zorg ervoor dat u geen verkeerde database verwijdert, want zodra u de database verwijdert, kan deze niet meer worden hersteld.
Voer de volgende opdracht uit om een MySQL of MariaDB te verwijderen:
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
Om deze fout te voorkomen, kunt u de volgende opdracht gebruiken:
DROP DATABASE IF EXISTS database_name;
Maak een nieuw MySQL-gebruikersaccount
Een gebruikersaccount in MySQL bestaat uit een gebruikersnaam en een hostnaam.
Om een nieuw MySQL-gebruikersaccount te maken, voert u de volgende opdracht uit, vervangt u gewoon 'database_user' door de naam van de gebruiker die u wilt maken:
CREATE USER 'database_user'@'localhost' IDENTIFIED BY 'user_password';
In de bovenstaande opdracht hebben we het hostnaamgedeelte ingesteld op
localhost
wat betekent dat deze gebruiker alleen verbinding kan maken met de MySQL-server vanaf de localhost (dat wil zeggen vanaf het systeem waarop MySQL Server wordt uitgevoerd). Als u toegang wilt verlenen vanaf een andere host (s), wijzigt u gewoon de
localhost
met het IP-adres van de externe machine of gebruikt u
'%'
jokerteken
'%'
voor het hostgedeelte, wat betekent dat de gebruikersaccount verbinding kan maken met elke host.
Hetzelfde als bij het werken met de databases om een fout te voorkomen bij het maken van een reeds bestaande gebruikersaccount die u kunt gebruiken:
CREATE USER IF NOT EXISTS 'database_user'@'localhost' IDENTIFIED BY 'user_password';
Query OK, 0 rows affected, 1 warning (0.00 sec)
Wijzig een MySQL-gebruikersaccountwachtwoord
De syntaxis voor het wijzigen van het wachtwoord van een MySQL- of MariaDB-gebruikersaccount hangt af van de serverversie die u op uw systeem uitvoert.
U kunt uw serverversie vinden door de volgende opdracht te geven:
mysql --version
ALTER USER 'database_user'@'localhost' IDENTIFIED BY 'new_password';
SET PASSWORD FOR 'database_user'@'localhost' = PASSWORD('new_password');
In beide gevallen moet de uitvoer er als volgt uitzien:
Query OK, 0 rows affected (0.00 sec)
Lijst met alle MySQL-gebruikersaccounts
U kunt alle MySQL- of MariaDB-gebruikersaccounts weergeven door de tabel
mysql.users
op te vragen:
SELECT user, host FROM mysql.user;
De output moet er ongeveer zo uitzien:
+------------------+-----------+ | 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)
Verwijder MySQL-gebruikersaccount
Gebruik de volgende opdracht om een gebruikersaccount te verwijderen:
DROP USER 'database_user@'localhost';
ERROR 1396 (HY000): Operation DROP USER failed for 'database_user'@'localhost'
Hetzelfde als bij het werken met de databases om de fout te voorkomen die u kunt gebruiken:
DROP USER IF EXISTS 'database_user'@'localhost';
Query OK, 0 rows affected, 1 warning (0.00 sec)
Verleen machtigingen aan een MySQL-gebruikersaccount
Er zijn meerdere soorten rechten die aan een gebruikersaccount kunnen worden verleend. Hier vindt u een volledige lijst met rechten die door MySQL worden ondersteund. In deze gids zullen we verschillende voorbeelden doornemen:
Gebruik de volgende opdracht om alle rechten voor een gebruikersaccount voor een specifieke database te vermenigvuldigen:
GRANT ALL PRIVILEGES ON database_name.* TO 'database_user'@'localhost';
Gebruik de volgende opdracht om alle rechten voor een gebruikersaccount over alle databases te vermenigvuldigen:
GRANT ALL PRIVILEGES ON *.* TO 'database_user'@'localhost';
Gebruik de volgende opdracht om alle rechten voor een gebruikersaccount voor een specifieke tabel uit een database te bepalen:
GRANT ALL PRIVILEGES ON database_name.table_name TO 'database_user'@'localhost';
GRANT SELECT, INSERT, DELETE ON database_name.* TO database_user@'localhost';
Toestemmingen van een MySQL-gebruikersaccount intrekken
REVOKE ALL PRIVILEGES ON database_name.* TO 'database_user'@'localhost';
MySQL-gebruikersaccountrechten weergeven
Ga als volgt te werk om de privileges te vinden die aan een specifiek MySQL-gebruikersaccounttype zijn verleend:
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)
Conclusie
Deze tutorial behandelt alleen de basis, maar het zou een goed begin moeten zijn voor iedereen die wil leren hoe MySQL-databases en gebruikers te beheren vanaf de opdrachtregel. U kunt ook de tutorial raadplegen over het resetten van een MySQL-rootwachtwoord voor het geval u het bent vergeten.
Dat is alles! Als u vragen of feedback heeft, kunt u een reactie achterlaten.
mysql mariadbUw pc vanaf elke smartphone of tablet beheren en beheren
Het enige dat u nodig heeft, is een mobiel apparaat, een gegevensplan en een paar computers die liefde en aandacht nodig hebben.
Hoe maak je een MySQL-database op Linux via de opdrachtregel
In deze zelfstudie wordt uitgelegd hoe u de opdrachtregel gebruikt om MySQL- of MariaDB-databases te maken.
Hoe een MySQL-database op Linux te verwijderen via de opdrachtregel
Deze zelfstudie beschrijft hoe u een MySQL- of MariaDB-database kunt verwijderen (of neerzetten) via de opdrachtregel.