MariaDB Praktisk veiledning for Linux Admins

Hun som styrer databaser styrer verden. Selv om du ikke ønsker å styre verden, vel vitende om et godt sett med database kommandoer vil gjøre livet ditt enklere.

Mest sannsynlig vil du ikke være å utføre mange manuelle operasjoner på MariaDB database, som å lage tabeller og legge til data, fordi det vil bli manipulert av andre programmer som bruker databasen backends. Følgende kommandoer er mer virkelige verden, og viser hvordan du kan gjenopprette en root passord, se hva som er i databasen, hvordan få hjelp, og hvordan du kan søke etter en bestemt tekststreng.

Tapt Root Password

Når du installerer MariaDB på Linux har du muligheten til å skape et root-passord. Sjansen er at du umiddelbart har glemt det. Ingen grunn til bekymring, fordi så lenge du har Linux root-tilgang kan du komme inn MariaDB.

Første stopp databasen hvis det kjører. På Red Hat Linux, CentOS og Fedora bruker systemctl kommando:

 $ sudo systemctl stoppe mariadb.service 

På Debian, Ubuntu og Linux Mint du kan fortsatt bruke tjenesten kommandoen:
< pre> $ sudo tjenesten mysql stopp * Stoppe MariaDB databaseserveren mysqld

Deretter starter MariaDB med mysqld_safe kommandoen, som er den tryggeste måten å starte MariaDB. --skip-grant-bord starter serveren med noen begrensninger, så det er vidåpne:

 $ sudo mysqld_safe --skip-grant-bord --skip-nettverk & [1] 11278carla @ studio: ~ /Dokumenter /1articles /linuxcom $ 141029 19:37:57 mysqld_safe Logging til syslog.141029 19:37:57 mysqld_safe Starter mysqld daemon med databaser fra /var /lib /mysql 

--skip-nettverk alternativet forhindrer alle fra snikende inn over nettverket. Selvfølgelig, ikke bruk dette hvis du logger inn eksternt. Nå kan du tilbake root-passordet ved å bruke mysql kommandoskall. Logg inn for å MariaDB, velg mysql database, null root-passordet, og deretter umiddelbart avslutte:

 $ mysql -u rootWelcome til MariaDB skjermen. Kommandoer slutte med; eller \\ g.Your MariaDB forbindelse id er 1Server versjon: 5.5.39-MariaDB-0ubuntu0.14.04.1 (Ubuntu) Copyright (c) 2000, 2014, Oracle, Monty Program Ab og others.Type 'hjelp;' eller '\\ h' for å få hjelp. Type '\\ c' for å fjerne dagens inngangs statement.MariaDB [(ingen)] > bruk mysql; Lese tabellen informasjon for fullføring av tabellen, og kolonnen namesYou kan slå av denne funksjonen for å få en raskere oppstart med -ADatabase changedMariaDB [mysql] > oppdatering brukeren sette password = passord ("new-password") der User = 'root'; Query OK, 4 rader påvirket (0,00 sek) Rader matchet: 4 Endret: 4 Advarsler: 0MariaDB [mysql] > strakt privilegier; Query OK, 0 rader påvirket (0,00 sek) MariaDB [mysql] > exitBye 

Nå kan du prøve å logge inn med ditt nye passord

 $ mysql -u root -pEnter passord: Velkommen til MariaDB skjermen. Kommandoer slutte med; eller \\ g.Your MariaDB forbindelse id er 2Server versjon: 5.5.39-MariaDB-0ubuntu0.14.04.1 (Ubuntu) 

Bruk denne one-liner for å endre passordet til en bruker uten å logge inn til MariaDB shell:

 $ mysqladmin -u Carla -p 'old-passord "passord" ny-passord' 
Debians Back Door

Debian lagrer klartekst passord for sitt system MariaDB bruker i /etc /mysql/debian.cnf:

 # automatisk generert for Debian skript. IKKE RØR! [Klienten] host = localhostuser = debian-sys-maintpassword = LofpsiQCKOcGzoqJ 

Du kan logge inn med denne brukeren og gjøre hva du vil, inkludert null root-passordet. Tillatelsene på denne filen bør lese-skrive for root bare.

Å se hva som er inni

Vær forsiktig når du monkeying rundt med databasen, fordi noen ting trenger å være der, slik som enkelte brukere av systemet. Logg inn, velg mysql database, og listen din database brukere:

 $ mysql -u root -ppassword: MariaDB [(ingen)] > bruke mysql; Database changedMariaDB [mysql] > VELG bruker, host, passord fra brukeren; + ------------------ + ------------ + -------- ------- + | bruker | vert | passord | + ------------------ + ------------ + --------------- + | root | localhost | * F6FE8C583C17 || root | 127.0.0.1 | * F6FE8C583C17 || root | :: 1 | * F6FE8C583C17 || debian-sys-maint | localhost | * 21B2FE94870C | 5 rader i sett (0,00 sek) 

Hvis du ikke har angitt en root-passord så root passord-feltet vil være tom. I motsetning til debian-sys-maint passord i konfigurasjonsfilen, blir alle disse kryptert. Hvorfor så mange root brukere? . Fordi MariaDB bryr seg om hvor brukerne lage forbindelser fra, så rot får alle de lokale som standard

Du kan se alle databasene:

 MariaDB [mysql] > vise databaser; + -------------------- + | Database | + -------------------- + | information_schema || mysql || ownCloud || Redbooks || bluebooks | | performance_schema | + -------------------- + 4 rader i sett (0,00 sek) 

information_schema, MySQL, og performance_schema er alle interne MariaDB databaser. Ikke slett eller endre dem, eller du vil bli veldig lei meg. Du kan se inni dem og se alle sine tabellnavn:

 MariaDB [mysql] > vise tabeller; + --------------------------- + | Tables_in_mysql | + --------------------------- + | columns_priv || db || hendelsen || func || general_log | 

Du kan vise tabellstrukturer, som viser alle kolonnene i tabellene, og alle variabler som kan tilordnes brukere:

 MariaDB [mysql] > beskrive bruker; + ------------ + ------------ + ------ + ----- + ------- - + ------- + | Feltet | Skriv inn | Null | Key | Standard | Extra | + ------------ + ------------ + ------ + ----- + -------- - + ------- + | Host | char (60) | NO | PRI | | || Bruker | char (16) | NO | PRI | | || Passord | char (41) | NO | | | || Select_priv | enum | NO | | N | || Insert_priv | enum | NO | | N | || Update_priv | enum | NO | | N | | 

Nå kan du se hvordan vi visste hvilke felt som skal velge når vi listet database brukere. Hva om du ønsker å se dataene i tabellen? Dette eksemplet viser alle det:

 MariaDB [mysql] > select * from brukeren; 

Det vil se ut som dritt fordi det er så mange felt, og du vil trenge en gigantisk skjerm for produksjonen for å vises riktig. Så la oss begrense det ned og se hvem som har superbruker rettigheter:

 MariaDB [mysql] > VELG bruker, super_priv Fra bruker; + ------------------ + ------------ + | bruker | super_priv | + ------------------ + ------------ + | root | Y || root | Y || root | Y || root | Y || debian-sys-maint | Y || Carla | Y || layla | N || Toshi | N | 

Nå vet du hvordan du skal se hvilke felt som er i en tabell, og hvordan du skal filtrere søkene dine med dem

Søker MariaDB For tilfeldig tekst Strings

En måte å søke etter. en vilkårlig bit av data er å dumme databasene til en tekstfil, og deretter søke tekstfilen. Dette eksempelet formaterer dump fil med linjeskift, så det er lesbar og grep-stand:

 $ mysqldump -u bruker -p --extended-insert = false --Alle-databaser > dbdump.txt 

Selvfølgelig kan du dumpe valgte databaser:

 user $ mysqldump -u -p --extended-insert = false --databases db2 DB3 > dbdump.txt 

Da grep den dumpfil for søkestrengen, slik søken etter kongler:

 $ grep-kongler dbdump.txt INSERT INTO `forest` VALUES (4, 'konglen'); INSERT INTO `forest` VALUES (11, 'kongler'); INSERT INTO` mountain` VALUES (21, 'konglen'); 

Dette forteller deg hvilke tabeller søkeordet er in-- skog og fjell i dette examples-- og lister alle forekomster av søkeordet

MariaDB har detaljert innebygd hjelpe:.

 MariaDB [mysql] > hjelpe contentsYou bedt om hjelp om hjelp kategorien: "Innhold" For mer informasjon, typen "hjelp", der er en av de followingcategories: Account Management Administration sammensatte setninger Data Definition data Manipulasjon 

MySQL ikke kommer unna, men MariaDB er raskt blitt standard database i Linux distroer, og ikke-Oracle fans bytter MySQL så fort de kan. Vennligst besøk MariaDB.com å lese mye mer god dokumentasjon, og flytte fra MySQL skal være nyttig for MySQL brukere som ønsker å få bytte.