Python Database Connection | How to Connect Python with MySQL Database | Edureka
Innholdsfortegnelse:
- Før du begynner
- Lag en ny MySQL-database
- Liste over alle MySQL-databaser
- Slett en MySQL-database
- Opprett en ny MySQL-brukerkonto
- Endre et MySQL-brukerkontopassord
- Liste over alle MySQL-brukerkontoer
- Slett MySQL brukerkonto
- Gi tillatelser til en MySQL-brukerkonto
- Tilbakekall tillatelser fra en MySQL-brukerkonto
- Vis MySQL-brukerprivilegier
- Konklusjon
MySQL er det mest populære open source relasjonsdatabasestyringssystemet. MySQL server lar oss lage mange brukere og databaser og gi passende rettigheter slik at brukere kan få tilgang til og administrere databaser.
Denne opplæringen forklarer hvordan du bruker kommandolinjen til å opprette og administrere MySQL- eller MariaDB-databaser og brukere.
Før du begynner
Før du begynner med denne opplæringen, antar vi at du allerede har MySQL eller MariaDB-server installert på systemet ditt. Alle kommandoer blir utført som rotbruker.
Hvis du vil åpne MySQL-ledeteksten, skriver du følgende kommando og skriver inn MySQL root-brukerpassordet når du blir bedt om det:
Lag en ny MySQL-database
Hvis du vil opprette en ny MySQL-database, kjører følgende kommando, bare bytt
database_name
navn med navnet på databasen du vil opprette:
CREATE DATABASE database_name;
Query OK, 1 row affected (0.00 sec)
ERROR 1007 (HY000): Can't create database 'database_name'; database exists
For å unngå feil hvis databasen med samme navn som du prøver å opprette eksisterer, kan du bruke følgende kommando:
CREATE DATABASE IF NOT EXISTS database_name;
Query OK, 1 row affected, 1 warning (0.00 sec)
I utdata over betyr
Query OK
at spørringen var vellykket, og
1 warning
forteller oss at databasen allerede eksisterer og at ingen ny database ble opprettet.
Liste over alle MySQL-databaser
Du kan liste alle databaser som finnes på MySQL- eller MariaDB-serveren med følgende kommando:
SHOW DATABASES;
Utgangen vil se slik ut:
+--------------------+ | Database | +--------------------+ | information_schema | | database_name | | mysql | | performance_schema | | sys | +--------------------+ 5 rows in set (0.00 sec)
information_schema
,
mysql
,
performance_schema
og
sys
databasene opprettes på installasjonstidspunktet, og de lagrer informasjon om alle andre databaser, systemkonfigurasjon, brukere, tillatelse og andre viktige data. Disse databasene er nødvendige for riktig funksjonalitet av MySQL-installasjonen.
Slett en MySQL-database
Slette en MySQL-database er så enkelt som å kjøre en enkelt kommando. Dette er en ikke-reversibel handling og bør utføres med forsiktighet. Forsikre deg om at du ikke fjerner en feil database, da du ikke kan gjenopprette når du har slettet databasen.
For å slette en MySQL eller MariaDB, kjø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 å unngå denne feilen kan du bruke følgende kommando:
DROP DATABASE IF EXISTS database_name;
Opprett en ny MySQL-brukerkonto
En brukerkonto i MySQL består av brukernavn og vertsnavndeler.
For å opprette en ny MySQL-brukerkonto, kjør følgende kommando, bare bytt ut 'database_user' med navnet på brukeren du vil opprette:
CREATE USER 'database_user'@'localhost' IDENTIFIED BY 'user_password';
I kommandoen over har vi satt vertsnavnsdelen til
localhost
noe som betyr at denne brukeren kun kan koble seg til MySQL-serveren fra localhost (dvs. fra systemet der MySQL Server kjører). Hvis du vil gi tilgang fra en annen vert (er), bare bytt
localhost
med den eksterne maskin-IP-en eller bruk
'%'
jokertegn for vertsdelen, noe som betyr at brukerkontoen vil være i stand til å koble seg fra hvilken som helst vert.
Samme som når du arbeider med databasene for å unngå en feil når du prøver å opprette en brukerkonto som allerede eksisterer, du kan bruke:
CREATE USER IF NOT EXISTS 'database_user'@'localhost' IDENTIFIED BY 'user_password';
Query OK, 0 rows affected, 1 warning (0.00 sec)
Endre et MySQL-brukerkontopassord
Syntaksen for å endre et MySQL- eller MariaDB-brukerkontopassord avhenger av serverversjonen du kjører på systemet ditt.
Du kan finne serverversjonen din ved å utgi 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 tilfeller skal utskriften se slik ut:
Query OK, 0 rows affected (0.00 sec)
Liste over alle MySQL-brukerkontoer
Du kan liste alle
mysql.users
eller MariaDB-brukerkontoer ved å spørre i tabellen
mysql.users
:
SELECT user, host FROM mysql.user;
Utgangen skal se ut 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)
Slett MySQL brukerkonto
For å slette en brukerkonto, bruk følgende kommando:
DROP USER 'database_user@'localhost';
ERROR 1396 (HY000): Operation DROP USER failed for 'database_user'@'localhost'
Samme som når du arbeider med databasene for å unngå feilen du kan bruke:
DROP USER IF EXISTS 'database_user'@'localhost';
Query OK, 0 rows affected, 1 warning (0.00 sec)
Gi tillatelser til en MySQL-brukerkonto
Det er flere typer privilegier som kan gis til en brukerkonto. Du kan finne en fullstendig liste over privilegier som støttes av MySQL her. I denne guiden vil vi gå gjennom flere eksempler:
Hvis du vil se alle privilegiene til en brukerkonto over en bestemt database, bruker du følgende kommando:
GRANT ALL PRIVILEGES ON database_name.* TO 'database_user'@'localhost';
Hvis du vil se alle privilegiene til en brukerkonto over alle databaser, bruker du følgende kommando:
GRANT ALL PRIVILEGES ON *.* TO 'database_user'@'localhost';
Hvis du vil se alle privilegiene til en brukerkonto over en spesifikk tabell fra en database, bruker du følgende kommando:
GRANT ALL PRIVILEGES ON database_name.table_name TO 'database_user'@'localhost';
GRANT SELECT, INSERT, DELETE ON database_name.* TO database_user@'localhost';
Tilbakekall tillatelser fra en MySQL-brukerkonto
REVOKE ALL PRIVILEGES ON database_name.* TO 'database_user'@'localhost';
Vis MySQL-brukerprivilegier
Slik finner du de rettighetene som er gitt til en bestemt MySQL-brukerkontotype:
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)
Konklusjon
Denne opplæringen dekker bare det grunnleggende, men det skal være en god start for alle som ønsker å lære å administrere MySQL-databaser og brukere fra kommandolinjen. Du kan også sjekke opplæringen om hvordan du tilbakestiller et MySQL root-passord i tilfelle du har glemt det.
Det er alt! Hvis du har spørsmål eller tilbakemeldinger, kan du gjerne legge igjen en kommentar.
mysql mariadbDISM ++ er et freeware som lar deg administrere, rense, kontrollere, optimalisere systemet bildefiler og lar deg også administrere oppstart, oppdateringer og mer.

DISM
Hvordan lage en mysql-database på linux via kommandolinjen

Denne veiledningen forklarer hvordan du bruker kommandolinjen til å lage MySQL- eller MariaDB-databaser.
Hvordan slette en mysql-database på linux via kommandolinjen

Denne veiledningen beskriver hvordan du sletter (eller slipper) en MySQL- eller MariaDB-database gjennom kommandolinjen.