MariaDB er en databaseserver ofte brukt i stedet for MySQL i den populære LAMP-stabelen som vanligvis består av Linux, Apache, MySQL og PHP.
Utviklerne bak MariaDB hevder den har bedre søkefunksjon enn MySQL, og mange andre ytelsesrelaterte forbedringer. Noen tester viser at MariaDB er radikalt raskere, men merk at ikke alle tester direkte kan oversettes til situasjoner i det virkelige liv.
I denne guiden viser jeg deg hvordan du installerer MariaDB på Ubuntu 20.04 ved å bruke apt. Når serveren er installert, må sikkerhetsskriptet mysql_secure_installation kjøres for å begrense og sikre tilgangen til serveren.
Forutsetninger
For å følge denne guiden, trenger du en server som kjører Ubuntu 20.04 LTS, selv om det er stor sannsynlighet for at veiledningen er lik for eldre utgaver.
Serveren trenger en bruker med sudo -rettigheter, eller du må ha tilgang til å logge inn som root.
Installer MariaDB
For å installere MariaDB, oppdaterer du først pakkeindeksen på serveren din med apt.
$ sudo apt update
Installer deretter nødvendige pakker.
$ sudo apt install mariadb-server
Den siste kommandoen vil installere MariaDB, men ber deg ikke om å konfigurere passord eller gjøre noen konfigurasjonsendringer.
Standardinstallasjonen etterlater MariaDB usikker, derfor bruker du et skript som mariadb-server pakken gir for å begrense tilgang til serveren og fjerne ubrukte kontoer.
Konfigurer MariaDB
For nye MariaDB-installasjoner er neste trinn å kjøre det inkluderte sikkerhetsskriptet. Dette skriptet endrer noen av de mindre sikre standardalternativene for ting som ekstern root -tilgang og testbrukere.
Kjør sikkerhetsskriptet:
$ sudo mysql_secure_installation
Du vil nå få en rekke spørsmål, der du kan gjøre noen endringer i MariaDB-installasjonens sikkerhetsalternativer.
Det første spørsmålet vil be deg om å oppgi det gjeldende passord til root -brukeren. Siden du ikke har konfigurert et passord ennå, trykk «ENTER» for å indikere «ingen».
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.
Enter current password for root (enter for none):
Den neste ledeteksten spør deg om du vil konfigurere root-passord for serveren. På Ubuntu er root for MariaDB tett knyttet til automatisert vedlikehold, så du bør ikke endre de konfigurerte autentiseringsmetodene for den kontoen.
Hvis du gjør det, vil det være mulig for en pakkeoppdatering å ødelegge databasesystemet ved å fjerne tilgang til administrasjonskontoen. Skriv derfor in «N» og trykk «ENTER».
Set root password? [Y/n] n
... skipping.
Senere vil jeg vise deg hvordan du kan konfigurere en ny administratorbruker for databaseserveren med passordtilgang.
De neste trinnene kan du trykke på «Y» og deretter «ENTER» for å godta standardverdiene for alle påfølgende spørsmål. Dette vil fjerne noen anonyme brukere, testdatabasen og deaktivere ekstern tilgang fra root.
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] y
... Success!
Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] y
... Success!
By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] y
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.
Thanks for using MariaDB!
Med det har du fullført MariaDB sin opprinnelige sikkerhetskonfigurasjon. Neste trinn er et valgfritt trinn, selv om du bør følge det hvis du foretrekker å logge inn på MariaDB-serveren med et passord.
Opprett en administratorbruker for MariaDB
Fordi serveren bruker root kontoen for oppgaver som loggrotasjon, starter og stopper serveren, er det best å ikke endre kontoen for root. Derfor valgte vi i veiledningen ovenfor å ikke sette et passord for root.
På Ubuntu-systemer som kjører MariaDB 10.3, er brukeren root satt til å autentisere ved hjelp av Unix Socket (i stedet for passord). Dette gir deg i mange tilfeller bedre sikkerhet og brukervennlighet.
Men, det kan også gjøre ting mer komplisert når du trenger å tillate et eksternt program som til eks. phpMyAdmin administrative rettigheter. I stedet for å endre root-kontoen i MariaDB, anbefales det i stedet å opprette en administratorkonto for passordbasert tilgang.
For å opprette en administratorkonto med de samme rettighetene som root, kobler du til MariaDB fra kommandolinjen:
$ sudo mariadb
Opprett deretter en ny bruker med administrator-rettigheter og passordbasert tilgang. I eksempelet under har vi valgt brukernavnet «admin», men du kan kalle brukeren det du vil.
Sørg for å endre brukernavn og passord for å samsvare med dine egne preferanser.
MariaDB [(none)]> GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'passord' WITH GRANT OPTION;
MariaDB [(none)]> FLUSH PRIVILEGES;
Deretter avslutter du MariaDB-tilkoblingen:
MariaDB [(none)]> exit
Test MariaDB server
Når du installerer MariaDB som forklart ovenfor vil MariaDB starte automatisk. For å teste dette, sjekk statusen med systemctl.
$ sudo systemctl status mariadb
Du vil få en respons som dette:
* mariadb.service - MariaDB 10.3.22 database server
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2020-07-17 16:26:19 UTC; 4h 23min ago
Docs: man:mysqld(8)
https://mariadb.com/kb/en/library/systemd/
Main PID: 13504 (mysqld)
Status: "Taking your SQL requests now..."
Tasks: 31 (limit: 4915)
Memory: 64.9M
CGroup: /system.slice/mariadb.service
`-13504 /usr/sbin/mysqld
Hvis MariaDB ikke kjører, kan du starte serveren med kommandoen:
$ sudo systemctl start mariadb
Du har nå installert MariaDB og sikret serveren ved å bruke skriptet mysql_secure_installation som fulgte med. I tillegg, lærte du hvordan legge til en administratorbruker som kan logge inn i MariaDB med passord.