Building Dynamic Web Apps with Laravel by Eric Ouyang
Indholdsfortegnelse:
- Før du begynder
- Opret en ny MySQL-database
- Liste over alle MySQL-databaser
- Slet en MySQL-database
- Opret en ny MySQL brugerkonto
- Skift en MySQL-brugerkontoadgangskode
- Liste over alle MySQL-brugerkonti
- Slet MySQL brugerkonto
- Giv tilladelser til en MySQL-brugerkonto
- Tilbagekald tilladelser fra en MySQL-brugerkonto
- Vis MySQL brugerkonto privilegier
- Konklusion
MySQL er det mest populære open source-relationsdatabasestyringssystem. MySQL server giver os mulighed for at oprette adskillige brugere og databaser og give passende privilegier, så brugerne kan få adgang til og administrere databaser.
Denne tutorial forklarer, hvordan man bruger kommandolinjen til at oprette og administrere MySQL eller MariaDB databaser og brugere.
Før du begynder
Inden du starter med denne tutorial, antager vi, at du allerede har MySQL eller MariaDB-server installeret på dit system. Alle kommandoer udføres som en rodbruger.
For at åbne MySQL-prompten, skriv følgende kommando og indtast MySQL root-brugeradgangskode, når du bliver bedt om det:
Opret en ny MySQL-database
For at oprette en ny MySQL-database køre følgende kommando, skal du blot udskifte
database_name
med navnet på den database, du vil oprette:
CREATE DATABASE database_name;
Query OK, 1 row affected (0.00 sec)
ERROR 1007 (HY000): Can't create database 'database_name'; database exists
For at undgå fejl, hvis databasen med det samme navn, som du prøver at oprette eksisterer, kan du bruge følgende kommando:
CREATE DATABASE IF NOT EXISTS database_name;
Query OK, 1 row affected, 1 warning (0.00 sec)
I output ovenfor betyder
Query OK
, at forespørgslen var vellykket, og
1 warning
fortæller os, at databasen allerede findes, og at der ikke blev oprettet en ny database.
Liste over alle MySQL-databaser
Du kan liste alle databaser, der findes på vores MySQL eller MariaDB-server med følgende kommando:
SHOW DATABASES;
Outputet ser sådan ud:
+--------------------+ | Database | +--------------------+ | information_schema | | database_name | | mysql | | performance_schema | | sys | +--------------------+ 5 rows in set (0.00 sec)
information_schema
,
mysql
,
performance_schema
og
sys
databaserne oprettes på installationstidspunktet, og de lagrer oplysninger om alle andre databaser, systemkonfiguration, brugere, tilladelse og andre vigtige data. Disse databaser er nødvendige for, at MySQL-installationen fungerer korrekt.
Slet en MySQL-database
Sletning af en MySQL-database er så simpelt som at køre en enkelt kommando. Dette er en ikke-reversibel handling og bør udføres med forsigtighed. Sørg for, at du ikke fjerner en forkert database, da den ikke kan gendannes, når du først har slettet databasen.
For at slette en MySQL eller MariaDB, kører databasen følgende kommando:
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
For at undgå denne fejl kan du bruge følgende kommando:
DROP DATABASE IF EXISTS database_name;
Opret en ny MySQL brugerkonto
En brugerkonto i MySQL består af et brugernavn og værtsnavndele.
For at oprette en ny MySQL-brugerkonto, kør følgende kommando, skal du bare erstatte 'database_user' med navnet på den bruger, du vil oprette:
CREATE USER 'database_user'@'localhost' IDENTIFIED BY 'user_password';
I kommandoen ovenfor har vi indstillet værtsnavnsdelen til
localhost
hvilket betyder, at denne bruger kun kan oprette forbindelse til MySQL-serveren fra localhost (dvs. fra det system, hvor MySQL Server kører). Hvis du vil give adgang fra en anden vært (e), skal du bare ændre
localhost
med den eksterne maskins IP eller bruge
'%'
jokertegn til værtsdelen, hvilket betyder, at brugerkontoen vil være i stand til at oprette forbindelse fra enhver vært.
Det samme som når du arbejder med databaserne for at undgå en fejl, når du prøver at oprette en brugerkonto, der allerede findes, og som du kan bruge:
CREATE USER IF NOT EXISTS 'database_user'@'localhost' IDENTIFIED BY 'user_password';
Query OK, 0 rows affected, 1 warning (0.00 sec)
Skift en MySQL-brugerkontoadgangskode
Syntaks til ændring af en MySQL- eller MariaDB-brugerkontoadgangskode afhænger af den serverversion, du kører på dit system.
Du kan finde din serverversion ved at udstede følgende kommando:
mysql --version
ALTER USER 'database_user'@'localhost' IDENTIFIED BY 'new_password';
SET PASSWORD FOR 'database_user'@'localhost' = PASSWORD('new_password');
I begge tilfælde skal output se sådan ud:
Query OK, 0 rows affected (0.00 sec)
Liste over alle MySQL-brugerkonti
Du kan liste alle MySQL- eller MariaDB-brugerkonti ved at
mysql.users
spørgsmål til
mysql.users
tabellen:
SELECT user, host FROM mysql.user;
Outputet skal se ud som nedenfor:
+------------------+-----------+ | 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)
Slet MySQL brugerkonto
For at slette en brugerkonto skal du bruge følgende kommando:
DROP USER 'database_user@'localhost';
ERROR 1396 (HY000): Operation DROP USER failed for 'database_user'@'localhost'
Samme som når du arbejder med databaserne for at undgå den fejl, du kan bruge:
DROP USER IF EXISTS 'database_user'@'localhost';
Query OK, 0 rows affected, 1 warning (0.00 sec)
Giv tilladelser til en MySQL-brugerkonto
Der er flere typer privilegier, der kan tildeles en brugerkonto. Du kan finde en komplet liste over privilegier, der understøttes af MySQL her. I denne vejledning gennemgår vi flere eksempler:
Brug følgende kommando til at sammenstille alle privilegier til en brugerkonto over en bestemt database:
GRANT ALL PRIVILEGES ON database_name.* TO 'database_user'@'localhost';
Brug følgende kommando til at sammenstille alle privilegier til en brugerkonto over alle databaser:
GRANT ALL PRIVILEGES ON *.* TO 'database_user'@'localhost';
Brug følgende kommando til at sammenstille alle privilegier til en brugerkonto over en bestemt tabel fra en database:
GRANT ALL PRIVILEGES ON database_name.table_name TO 'database_user'@'localhost';
GRANT SELECT, INSERT, DELETE ON database_name.* TO database_user@'localhost';
Tilbagekald tilladelser fra en MySQL-brugerkonto
REVOKE ALL PRIVILEGES ON database_name.* TO 'database_user'@'localhost';
Vis MySQL brugerkonto privilegier
Sådan finder du de (n) privilegier (er), der er tildelt en bestemt MySQL-brugerkontotype:
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)
Konklusion
Denne tutorial dækker kun det grundlæggende, men det skal være en god start for alle, der ønsker at lære, hvordan man administrerer MySQL-databaser og brugere fra kommandolinjen. Du kan også kontrollere selvstudiet om, hvordan du nulstiller en MySQL-root-adgangskode, hvis du har glemt det.
Det er alt! Hvis du har spørgsmål eller feedback, er du velkommen til at give en kommentar.
mysql mariadbSådan tilføjes brugere og administreres brugerkonti i Windows 8
Lær hvordan du tilføjer nye brugere og administrerer brugerkonti i Windows 8. Det er en smule anden grænseflade og generelt lettere at skifte brugere.
Sådan oprettes en mysql-database på linux via kommandolinjen
Denne tutorial forklarer, hvordan man bruger kommandolinjen til at oprette MySQL eller MariaDB databaser.
Sådan slettes en mysql-database på linux via kommandolinjen
Denne tutorial beskriver, hvordan man sletter (eller slipper) en MySQL- eller MariaDB-database gennem kommandolinjen.